home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / lisp / packages / xscheme.elc < prev   
Emacs Compiled Lisp  |  1995-08-29  |  31.1 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs/XEmacs v19 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 63 74 68 6f 6d 70 40 |piled by| cthomp@|
|00000020| 77 69 6c 6c 6f 77 2e 63 | 73 2e 75 69 75 63 2e 65 |willow.c|s.uiuc.e|
|00000030| 64 75 20 6f 6e 20 54 75 | 65 20 41 75 67 20 32 39 |du on Tu|e Aug 29|
|00000040| 20 31 36 3a 35 30 3a 31 | 37 20 31 39 39 35 0a 3b | 16:50:1|7 1995.;|
|00000050| 3b 3b 20 66 72 6f 6d 20 | 66 69 6c 65 20 2f 78 65 |;; from |file /xe|
|00000060| 6d 61 63 73 2f 78 65 6d | 61 63 73 2d 31 39 2e 31 |macs/xem|acs-19.1|
|00000070| 33 2d 72 65 6c 65 61 73 | 65 2f 65 64 69 74 6f 72 |3-releas|e/editor|
|00000080| 2f 6c 69 73 70 2f 70 61 | 63 6b 61 67 65 73 2f 78 |/lisp/pa|ckages/x|
|00000090| 73 63 68 65 6d 65 2e 65 | 6c 0a 3b 3b 3b 20 65 6d |scheme.e|l.;;; em|
|000000a0| 61 63 73 20 76 65 72 73 | 69 6f 6e 20 31 39 2e 31 |acs vers|ion 19.1|
|000000b0| 33 20 58 45 6d 61 63 73 | 20 4c 75 63 69 64 2e 0a |3 XEmacs| Lucid..|
|000000c0| 3b 3b 3b 20 62 79 74 65 | 63 6f 6d 70 20 76 65 72 |;;; byte|comp ver|
|000000d0| 73 69 6f 6e 20 32 2e 32 | 35 3b 20 31 2d 53 65 70 |sion 2.2|5; 1-Sep|
|000000e0| 2d 39 34 2e 0a 3b 3b 3b | 20 6f 70 74 69 6d 69 7a |-94..;;;| optimiz|
|000000f0| 61 74 69 6f 6e 20 69 73 | 20 6f 6e 2e 0a 3b 3b 3b |ation is| on..;;;|
|00000100| 20 74 68 69 73 20 66 69 | 6c 65 20 75 73 65 73 20 | this fi|le uses |
|00000110| 6f 70 63 6f 64 65 73 20 | 77 68 69 63 68 20 64 6f |opcodes |which do|
|00000120| 20 6e 6f 74 20 65 78 69 | 73 74 20 69 6e 20 45 6d | not exi|st in Em|
|00000130| 61 63 73 20 31 38 2e 0a | 0a 28 69 66 20 28 61 6e |acs 18..|.(if (an|
|00000140| 64 20 28 62 6f 75 6e 64 | 70 20 27 65 6d 61 63 73 |d (bound|p 'emacs|
|00000150| 2d 76 65 72 73 69 6f 6e | 29 0a 09 20 28 6f 72 20 |-version|).. (or |
|00000160| 28 61 6e 64 20 28 62 6f | 75 6e 64 70 20 27 65 70 |(and (bo|undp 'ep|
|00000170| 6f 63 68 3a 3a 76 65 72 | 73 69 6f 6e 29 20 65 70 |och::ver|sion) ep|
|00000180| 6f 63 68 3a 3a 76 65 72 | 73 69 6f 6e 29 0a 09 20 |och::ver|sion).. |
|00000190| 20 20 20 20 28 73 74 72 | 69 6e 67 2d 6c 65 73 73 | (str|ing-less|
|000001a0| 70 20 65 6d 61 63 73 2d | 76 65 72 73 69 6f 6e 20 |p emacs-|version |
|000001b0| 22 31 39 22 29 29 29 0a | 20 20 20 20 28 65 72 72 |"19"))).| (err|
|000001c0| 6f 72 20 22 54 68 69 73 | 20 66 69 6c 65 20 77 61 |or "This| file wa|
|000001d0| 73 20 63 6f 6d 70 69 6c | 65 64 20 66 6f 72 20 45 |s compil|ed for E|
|000001e0| 6d 61 63 73 20 31 39 2e | 22 29 29 0a 0a 28 72 65 |macs 19.|"))..(re|
|000001f0| 71 75 69 72 65 20 27 73 | 63 68 65 6d 65 29 0a 28 |quire 's|cheme).(|
|00000200| 64 65 66 76 61 72 20 73 | 63 68 65 6d 65 2d 70 72 |defvar s|cheme-pr|
|00000210| 6f 67 72 61 6d 2d 6e 61 | 6d 65 20 22 73 63 68 65 |ogram-na|me "sche|
|00000220| 6d 65 22 20 22 5c 0a 2a | 50 72 6f 67 72 61 6d 20 |me" "\.*|Program |
|00000230| 69 6e 76 6f 6b 65 64 20 | 62 79 20 74 68 65 20 60 |invoked |by the `|
|00000240| 72 75 6e 2d 73 63 68 65 | 6d 65 27 20 63 6f 6d 6d |run-sche|me' comm|
|00000250| 61 6e 64 2e 22 29 0a 28 | 64 65 66 76 61 72 20 73 |and.").(|defvar s|
|00000260| 63 68 65 6d 65 2d 62 61 | 6e 64 2d 6e 61 6d 65 20 |cheme-ba|nd-name |
|00000270| 6e 69 6c 20 22 5c 0a 2a | 42 61 6e 64 20 6c 6f 61 |nil "\.*|Band loa|
|00000280| 64 65 64 20 62 79 20 74 | 68 65 20 60 72 75 6e 2d |ded by t|he `run-|
|00000290| 73 63 68 65 6d 65 27 20 | 63 6f 6d 6d 61 6e 64 2e |scheme' |command.|
|000002a0| 22 29 0a 28 64 65 66 76 | 61 72 20 73 63 68 65 6d |").(defv|ar schem|
|000002b0| 65 2d 70 72 6f 67 72 61 | 6d 2d 61 72 67 75 6d 65 |e-progra|m-argume|
|000002c0| 6e 74 73 20 6e 69 6c 20 | 22 5c 0a 2a 41 72 67 75 |nts nil |"\.*Argu|
|000002d0| 6d 65 6e 74 73 20 70 61 | 73 73 65 64 20 74 6f 20 |ments pa|ssed to |
|000002e0| 74 68 65 20 53 63 68 65 | 6d 65 20 70 72 6f 67 72 |the Sche|me progr|
|000002f0| 61 6d 20 62 79 20 74 68 | 65 20 60 72 75 6e 2d 73 |am by th|e `run-s|
|00000300| 63 68 65 6d 65 27 20 63 | 6f 6d 6d 61 6e 64 2e 22 |cheme' c|ommand."|
|00000310| 29 0a 28 64 65 66 76 61 | 72 20 78 73 63 68 65 6d |).(defva|r xschem|
|00000320| 65 2d 61 6c 6c 6f 77 2d | 70 69 70 65 6c 69 6e 65 |e-allow-|pipeline|
|00000330| 64 2d 65 76 61 6c 75 61 | 74 69 6f 6e 20 74 20 22 |d-evalua|tion t "|
|00000340| 5c 0a 49 66 20 6e 6f 6e | 2d 6e 69 6c 2c 20 61 6e |\.If non|-nil, an|
|00000350| 20 65 78 70 72 65 73 73 | 69 6f 6e 20 6d 61 79 20 | express|ion may |
|00000360| 62 65 20 74 72 61 6e 73 | 6d 69 74 74 65 64 20 77 |be trans|mitted w|
|00000370| 68 69 6c 65 20 61 6e 6f | 74 68 65 72 20 69 73 20 |hile ano|ther is |
|00000380| 65 76 61 6c 75 61 74 69 | 6e 67 2e 0a 4f 74 68 65 |evaluati|ng..Othe|
|00000390| 72 77 69 73 65 2c 20 61 | 74 74 65 6d 70 74 69 6e |rwise, a|ttemptin|
|000003a0| 67 20 74 6f 20 65 76 61 | 6c 75 61 74 65 20 61 6e |g to eva|luate an|
|000003b0| 20 65 78 70 72 65 73 73 | 69 6f 6e 20 62 65 66 6f | express|ion befo|
|000003c0| 72 65 20 74 68 65 20 70 | 72 65 76 69 6f 75 73 20 |re the p|revious |
|000003d0| 65 78 70 72 65 73 73 69 | 6f 6e 0a 68 61 73 20 66 |expressi|on.has f|
|000003e0| 69 6e 69 73 68 65 64 20 | 65 76 61 6c 75 61 74 69 |inished |evaluati|
|000003f0| 6e 67 20 77 69 6c 6c 20 | 73 69 67 6e 61 6c 20 61 |ng will |signal a|
|00000400| 6e 20 65 72 72 6f 72 2e | 22 29 0a 28 64 65 66 76 |n error.|").(defv|
|00000410| 61 72 20 64 65 66 61 75 | 6c 74 2d 78 73 63 68 65 |ar defau|lt-xsche|
|00000420| 6d 65 2d 72 75 6e 6c 69 | 67 68 74 20 27 28 22 3a |me-runli|ght '(":|
|00000430| 20 22 20 78 73 63 68 65 | 6d 65 2d 72 75 6e 6c 69 | " xsche|me-runli|
|00000440| 67 68 74 2d 73 74 72 69 | 6e 67 29 20 22 5c 0a 44 |ght-stri|ng) "\.D|
|00000450| 65 66 61 75 6c 74 20 67 | 6c 6f 62 61 6c 20 28 73 |efault g|lobal (s|
|00000460| 68 61 72 65 64 29 20 78 | 73 63 68 65 6d 65 2d 72 |hared) x|scheme-r|
|00000470| 75 6e 6c 69 67 68 74 20 | 6d 6f 64 65 6c 69 6e 65 |unlight |modeline|
|00000480| 20 66 6f 72 6d 61 74 2e | 22 29 0a 28 64 65 66 76 | format.|").(defv|
|00000490| 61 72 20 78 73 63 68 65 | 6d 65 2d 73 74 61 72 74 |ar xsche|me-start|
|000004a0| 75 70 2d 6d 65 73 73 61 | 67 65 20 22 54 68 69 73 |up-messa|ge "This|
|000004b0| 20 69 73 20 74 68 65 20 | 53 63 68 65 6d 65 20 70 | is the |Scheme p|
|000004c0| 72 6f 63 65 73 73 20 62 | 75 66 66 65 72 2e 5c 6e |rocess b|uffer.\n|
|000004d0| 54 79 70 65 20 5c 5c 5b | 61 64 76 65 72 74 69 73 |Type \\[|advertis|
|000004e0| 65 64 2d 78 73 63 68 65 | 6d 65 2d 73 65 6e 64 2d |ed-xsche|me-send-|
|000004f0| 70 72 65 76 69 6f 75 73 | 2d 65 78 70 72 65 73 73 |previous|-express|
|00000500| 69 6f 6e 5d 20 74 6f 20 | 65 76 61 6c 75 61 74 65 |ion] to |evaluate|
|00000510| 20 74 68 65 20 65 78 70 | 72 65 73 73 69 6f 6e 20 | the exp|ression |
|00000520| 62 65 66 6f 72 65 20 70 | 6f 69 6e 74 2e 5c 6e 54 |before p|oint.\nT|
|00000530| 79 70 65 20 5c 5c 5b 78 | 73 63 68 65 6d 65 2d 73 |ype \\[x|scheme-s|
|00000540| 65 6e 64 2d 63 6f 6e 74 | 72 6f 6c 2d 67 2d 69 6e |end-cont|rol-g-in|
|00000550| 74 65 72 72 75 70 74 5d | 20 74 6f 20 61 62 6f 72 |terrupt]| to abor|
|00000560| 74 20 65 76 61 6c 75 61 | 74 69 6f 6e 2e 5c 6e 54 |t evalua|tion.\nT|
|00000570| 79 70 65 20 5c 5c 5b 64 | 65 73 63 72 69 62 65 2d |ype \\[d|escribe-|
|00000580| 6d 6f 64 65 5d 20 66 6f | 72 20 6d 6f 72 65 20 69 |mode] fo|r more i|
|00000590| 6e 66 6f 72 6d 61 74 69 | 6f 6e 2e 5c 6e 5c 6e 22 |nformati|on.\n\n"|
|000005a0| 20 22 5c 0a 53 74 72 69 | 6e 67 20 74 6f 20 69 6e | "\.Stri|ng to in|
|000005b0| 73 65 72 74 20 69 6e 74 | 6f 20 53 63 68 65 6d 65 |sert int|o Scheme|
|000005c0| 20 70 72 6f 63 65 73 73 | 20 62 75 66 66 65 72 20 | process| buffer |
|000005d0| 66 69 72 73 74 20 74 69 | 6d 65 20 69 74 20 69 73 |first ti|me it is|
|000005e0| 20 73 74 61 72 74 65 64 | 2e 0a 49 73 20 70 72 6f | started|..Is pro|
|000005f0| 63 65 73 73 65 64 20 77 | 69 74 68 20 60 73 75 62 |cessed w|ith `sub|
|00000600| 73 74 69 74 75 74 65 2d | 63 6f 6d 6d 61 6e 64 2d |stitute-|command-|
|00000610| 6b 65 79 73 27 20 66 69 | 72 73 74 2e 22 29 0a 28 |keys' fi|rst.").(|
|00000620| 64 65 66 76 61 72 20 78 | 73 63 68 65 6d 65 2d 73 |defvar x|scheme-s|
|00000630| 69 67 6e 61 6c 2d 64 65 | 61 74 68 2d 6d 65 73 73 |ignal-de|ath-mess|
|00000640| 61 67 65 20 6e 69 6c 20 | 22 5c 0a 49 66 20 6e 6f |age nil |"\.If no|
|00000650| 6e 2d 6e 69 6c 2c 20 63 | 61 75 73 65 73 20 61 20 |n-nil, c|auses a |
|00000660| 6d 65 73 73 61 67 65 20 | 74 6f 20 62 65 20 67 65 |message |to be ge|
|00000670| 6e 65 72 61 74 65 64 20 | 77 68 65 6e 20 74 68 65 |nerated |when the|
|00000680| 20 53 63 68 65 6d 65 20 | 70 72 6f 63 65 73 73 20 | Scheme |process |
|00000690| 64 69 65 73 2e 22 29 0a | 28 64 65 66 76 61 72 20 |dies.").|(defvar |
|000006a0| 78 73 63 68 65 6d 65 2d | 70 72 6f 63 65 73 73 2d |xscheme-|process-|
|000006b0| 6e 61 6d 65 20 22 2a 73 | 63 68 65 6d 65 2a 22 20 |name "*s|cheme*" |
|000006c0| 22 5c 0a 2a 50 72 6f 63 | 65 73 73 20 63 72 65 61 |"\.*Proc|ess crea|
|000006d0| 74 65 64 20 62 79 20 74 | 68 65 20 60 72 75 6e 2d |ted by t|he `run-|
|000006e0| 73 63 68 65 6d 65 27 20 | 63 6f 6d 6d 61 6e 64 2e |scheme' |command.|
|000006f0| 22 29 0a 28 64 65 66 76 | 61 72 20 78 73 63 68 65 |").(defv|ar xsche|
|00000700| 6d 65 2d 62 75 66 66 65 | 72 2d 6e 61 6d 65 20 22 |me-buffe|r-name "|
|00000710| 2a 73 63 68 65 6d 65 2a | 22 20 22 5c 0a 2a 42 75 |*scheme*|" "\.*Bu|
|00000720| 66 66 65 72 20 63 72 65 | 61 74 65 64 20 62 79 20 |ffer cre|ated by |
|00000730| 74 68 65 20 60 72 75 6e | 2d 73 63 68 65 6d 65 27 |the `run|-scheme'|
|00000740| 20 63 6f 6d 6d 61 6e 64 | 2e 22 29 0a 28 62 79 74 | command|.").(byt|
|00000750| 65 2d 63 6f 64 65 20 22 | c0 c1 4d 88 c2 c3 4d 88 |e-code "|..M...M.|
|00000760| c0 0c 21 88 c2 0c 21 87 | 22 20 5b 78 73 63 68 65 |..!...!.|" [xsche|
|00000770| 6d 65 2d 65 76 61 6c 75 | 61 74 69 6f 6e 2d 63 6f |me-evalu|ation-co|
|00000780| 6d 6d 61 6e 64 73 20 23 | 5b 28 6b 65 79 6d 61 70 |mmands #|[(keymap|
|00000790| 29 20 22 c0 09 c2 c3 23 | 88 c0 09 c4 c5 23 88 c0 |) "....#|.....#..|
|000007a0| 09 c6 c7 23 88 c0 09 c8 | c3 23 88 c0 09 c9 ca 23 |...#....|.#.....#|
|000007b0| 88 c0 09 cb cc 23 87 22 | 20 5b 64 65 66 69 6e 65 |.....#."| [define|
|000007c0| 2d 6b 65 79 20 6b 65 79 | 6d 61 70 20 22 1b 18 22 |-key key|map ".."|
|000007d0| 20 78 73 63 68 65 6d 65 | 2d 73 65 6e 64 2d 64 65 | xscheme|-send-de|
|000007e0| 66 69 6e 69 74 69 6f 6e | 20 22 18 05 22 20 61 64 |finition| ".." ad|
|000007f0| 76 65 72 74 69 73 65 64 | 2d 78 73 63 68 65 6d 65 |vertised|-xscheme|
|00000800| 2d 73 65 6e 64 2d 70 72 | 65 76 69 6f 75 73 2d 65 |-send-pr|evious-e|
|00000810| 78 70 72 65 73 73 69 6f | 6e 20 22 1b 6f 22 20 78 |xpressio|n ".o" x|
|00000820| 73 63 68 65 6d 65 2d 73 | 65 6e 64 2d 62 75 66 66 |scheme-s|end-buff|
|00000830| 65 72 20 22 1b 7a 22 20 | 22 1b 0d 22 20 78 73 63 |er ".z" |".." xsc|
|00000840| 68 65 6d 65 2d 73 65 6e | 64 2d 70 72 65 76 69 6f |heme-sen|d-previo|
|00000850| 75 73 2d 65 78 70 72 65 | 73 73 69 6f 6e 20 22 1b |us-expre|ssion ".|
|00000860| 1a 22 20 78 73 63 68 65 | 6d 65 2d 73 65 6e 64 2d |." xsche|me-send-|
|00000870| 72 65 67 69 6f 6e 5d 20 | 34 5d 20 78 73 63 68 65 |region] |4] xsche|
|00000880| 6d 65 2d 69 6e 74 65 72 | 72 75 70 74 2d 63 6f 6d |me-inter|rupt-com|
|00000890| 6d 61 6e 64 73 20 23 5b | 28 6b 65 79 6d 61 70 29 |mands #[|(keymap)|
|000008a0| 20 22 c0 09 c2 c3 23 88 | c0 09 c4 c5 23 88 c0 09 | "....#.|....#...|
|000008b0| c6 c7 23 88 c0 09 c8 c9 | 23 88 c0 09 ca cb 23 87 |..#.....|#.....#.|
|000008c0| 22 20 5b 64 65 66 69 6e | 65 2d 6b 65 79 20 6b 65 |" [defin|e-key ke|
|000008d0| 79 6d 61 70 20 22 03 13 | 22 20 78 73 63 68 65 6d |ymap "..|" xschem|
|000008e0| 65 2d 73 65 6c 65 63 74 | 2d 70 72 6f 63 65 73 73 |e-select|-process|
|000008f0| 2d 62 75 66 66 65 72 20 | 22 03 02 22 20 78 73 63 |-buffer |".." xsc|
|00000900| 68 65 6d 65 2d 73 65 6e | 64 2d 62 72 65 61 6b 70 |heme-sen|d-breakp|
|00000910| 6f 69 6e 74 2d 69 6e 74 | 65 72 72 75 70 74 20 22 |oint-int|errupt "|
|00000920| 03 03 22 20 78 73 63 68 | 65 6d 65 2d 73 65 6e 64 |.." xsch|eme-send|
|00000930| 2d 63 6f 6e 74 72 6f 6c | 2d 67 2d 69 6e 74 65 72 |-control|-g-inter|
|00000940| 72 75 70 74 20 22 03 15 | 22 20 78 73 63 68 65 6d |rupt "..|" xschem|
|00000950| 65 2d 73 65 6e 64 2d 63 | 6f 6e 74 72 6f 6c 2d 75 |e-send-c|ontrol-u|
|00000960| 2d 69 6e 74 65 72 72 75 | 70 74 20 22 03 18 22 20 |-interru|pt ".." |
|00000970| 78 73 63 68 65 6d 65 2d | 73 65 6e 64 2d 63 6f 6e |xscheme-|send-con|
|00000980| 74 72 6f 6c 2d 78 2d 69 | 6e 74 65 72 72 75 70 74 |trol-x-i|nterrupt|
|00000990| 5d 20 34 5d 20 73 63 68 | 65 6d 65 2d 6d 6f 64 65 |] 4] sch|eme-mode|
|000009a0| 2d 6d 61 70 5d 20 32 29 | 0a 28 66 73 65 74 20 27 |-map] 2)|.(fset '|
|000009b0| 72 75 6e 2d 73 63 68 65 | 6d 65 20 23 5b 28 63 6f |run-sche|me #[(co|
|000009c0| 6d 6d 61 6e 64 2d 6c 69 | 6e 65 29 20 22 c0 09 5c |mmand-li|ne) "..\|
|000009d0| 6e 0b 23 87 22 20 5b 73 | 63 68 65 6d 65 2d 73 74 |n.#." [s|cheme-st|
|000009e0| 61 72 74 20 63 6f 6d 6d | 61 6e 64 2d 6c 69 6e 65 |art comm|and-line|
|000009f0| 20 78 73 63 68 65 6d 65 | 2d 70 72 6f 63 65 73 73 | xscheme|-process|
|00000a00| 2d 6e 61 6d 65 20 78 73 | 63 68 65 6d 65 2d 62 75 |-name xs|cheme-bu|
|00000a10| 66 66 65 72 2d 6e 61 6d | 65 5d 20 34 20 22 5c 0a |ffer-nam|e] 4 "\.|
|00000a20| 52 75 6e 20 61 6e 20 69 | 6e 66 65 72 69 6f 72 20 |Run an i|nferior |
|00000a30| 53 63 68 65 6d 65 20 70 | 72 6f 63 65 73 73 2e 0a |Scheme p|rocess..|
|00000a40| 4f 75 74 70 75 74 20 67 | 6f 65 73 20 74 6f 20 74 |Output g|oes to t|
|00000a50| 68 65 20 62 75 66 66 65 | 72 20 60 2a 73 63 68 65 |he buffe|r `*sche|
|00000a60| 6d 65 2a 27 2e 0a 57 69 | 74 68 20 61 72 67 75 6d |me*'..Wi|th argum|
|00000a70| 65 6e 74 2c 20 61 73 6b | 73 20 66 6f 72 20 61 20 |ent, ask|s for a |
|00000a80| 63 6f 6d 6d 61 6e 64 20 | 6c 69 6e 65 2e 22 20 28 |command |line." (|
|00000a90| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 09 21 43 87 |byte-cod|e "..!C.|
|00000aa0| 22 20 5b 72 65 61 64 2d | 73 63 68 65 6d 65 2d 63 |" [read-|scheme-c|
|00000ab0| 6f 6d 6d 61 6e 64 2d 6c | 69 6e 65 20 63 75 72 72 |ommand-l|ine curr|
|00000ac0| 65 6e 74 2d 70 72 65 66 | 69 78 2d 61 72 67 5d 20 |ent-pref|ix-arg] |
|00000ad0| 32 29 5d 29 0a 28 66 73 | 65 74 20 27 72 65 73 65 |2)]).(fs|et 'rese|
|00000ae0| 74 2d 73 63 68 65 6d 65 | 20 23 5b 6e 69 6c 20 22 |t-scheme| #[nil "|
|00000af0| c0 09 21 89 1a ab 8c c3 | 5c 6e 21 c4 3d ab 85 c5 |..!.....|\n!.=...|
|00000b00| c6 21 ad 9b c7 c8 21 88 | 5c 6e ab 89 c9 5c 6e ca |.!....!.|\n...\n.|
|00000b10| 5c 22 88 cb 5c 6e 21 88 | cc 0e 0d 09 0e 0e 23 88 |\"..\n!.|......#.|
|00000b20| c7 cf 21 29 87 22 20 5b | 67 65 74 2d 70 72 6f 63 |..!)." [|get-proc|
|00000b30| 65 73 73 20 78 73 63 68 | 65 6d 65 2d 70 72 6f 63 |ess xsch|eme-proc|
|00000b40| 65 73 73 2d 6e 61 6d 65 | 20 70 72 6f 63 65 73 73 |ess-name| process|
|00000b50| 20 70 72 6f 63 65 73 73 | 2d 73 74 61 74 75 73 20 | process|-status |
|00000b60| 72 75 6e 20 79 65 73 2d | 6f 72 2d 6e 6f 2d 70 20 |run yes-|or-no-p |
|00000b70| 22 54 68 65 20 53 63 68 | 65 6d 65 20 70 72 6f 63 |"The Sch|eme proc|
|00000b80| 65 73 73 20 69 73 20 72 | 75 6e 6e 69 6e 67 2c 20 |ess is r|unning, |
|00000b90| 61 72 65 20 79 6f 75 20 | 53 55 52 45 20 79 6f 75 |are you |SURE you|
|00000ba0| 20 77 61 6e 74 20 74 6f | 20 72 65 73 65 74 20 69 | want to| reset i|
|00000bb0| 74 3f 20 22 20 6d 65 73 | 73 61 67 65 20 22 52 65 |t? " mes|sage "Re|
|00000bc0| 73 65 74 74 69 6e 67 20 | 53 63 68 65 6d 65 20 70 |setting |Scheme p|
|00000bd0| 72 6f 63 65 73 73 2e 2e | 2e 22 20 6b 69 6c 6c 2d |rocess..|." kill-|
|00000be0| 70 72 6f 63 65 73 73 20 | 74 20 64 65 6c 65 74 65 |process |t delete|
|00000bf0| 2d 70 72 6f 63 65 73 73 | 20 78 73 63 68 65 6d 65 |-process| xscheme|
|00000c00| 2d 73 74 61 72 74 2d 70 | 72 6f 63 65 73 73 20 78 |-start-p|rocess x|
|00000c10| 73 63 68 65 6d 65 2d 70 | 72 6f 63 65 73 73 2d 63 |scheme-p|rocess-c|
|00000c20| 6f 6d 6d 61 6e 64 2d 6c | 69 6e 65 20 78 73 63 68 |ommand-l|ine xsch|
|00000c30| 65 6d 65 2d 62 75 66 66 | 65 72 2d 6e 61 6d 65 20 |eme-buff|er-name |
|00000c40| 22 52 65 73 65 74 74 69 | 6e 67 20 53 63 68 65 6d |"Resetti|ng Schem|
|00000c50| 65 20 70 72 6f 63 65 73 | 73 2e 2e 2e 64 6f 6e 65 |e proces|s...done|
|00000c60| 22 5d 20 35 20 22 5c 0a | 52 65 73 65 74 20 74 68 |"] 5 "\.|Reset th|
|00000c70| 65 20 53 63 68 65 6d 65 | 20 70 72 6f 63 65 73 73 |e Scheme| process|
|00000c80| 2e 22 20 6e 69 6c 5d 29 | 0a 28 62 79 74 65 2d 63 |." nil])|.(byte-c|
|00000c90| 6f 64 65 20 22 c0 c1 4d | 88 c2 c3 4d 88 c4 c5 4d |ode "..M|...M...M|
|00000ca0| 87 22 20 5b 73 63 68 65 | 6d 65 2d 73 74 61 72 74 |." [sche|me-start|
|00000cb0| 20 23 5b 28 63 6f 6d 6d | 61 6e 64 2d 6c 69 6e 65 | #[(comm|and-line|
|00000cc0| 20 70 72 6f 63 65 73 73 | 2d 6e 61 6d 65 20 62 75 | process|-name bu|
|00000cd0| 66 66 65 72 2d 6e 61 6d | 65 20 26 6f 70 74 69 6f |ffer-nam|e &optio|
|00000ce0| 6e 61 6c 20 61 76 6f 69 | 64 2d 73 65 74 29 20 22 |nal avoi|d-set) "|
|00000cf0| 08 ac 85 c1 c2 0b 5c 22 | 88 c4 c5 0b 0e 06 0e 07 |......\"|........|
|00000d00| 23 21 88 c8 c2 21 88 0b | 89 12 87 22 20 5b 61 76 |#!...!..|..." [av|
|00000d10| 6f 69 64 2d 73 65 74 20 | 73 65 74 2d 64 65 66 61 |oid-set |set-defa|
|00000d20| 75 6c 74 20 78 73 63 68 | 65 6d 65 2d 70 72 6f 63 |ult xsch|eme-proc|
|00000d30| 65 73 73 2d 63 6f 6d 6d | 61 6e 64 2d 6c 69 6e 65 |ess-comm|and-line|
|00000d40| 20 63 6f 6d 6d 61 6e 64 | 2d 6c 69 6e 65 20 73 77 | command|-line sw|
|00000d50| 69 74 63 68 2d 74 6f 2d | 62 75 66 66 65 72 20 78 |itch-to-|buffer x|
|00000d60| 73 63 68 65 6d 65 2d 73 | 74 61 72 74 2d 70 72 6f |scheme-s|tart-pro|
|00000d70| 63 65 73 73 20 70 72 6f | 63 65 73 73 2d 6e 61 6d |cess pro|cess-nam|
|00000d80| 65 20 62 75 66 66 65 72 | 2d 6e 61 6d 65 20 6d 61 |e buffer|-name ma|
|00000d90| 6b 65 2d 6c 6f 63 61 6c | 2d 76 61 72 69 61 62 6c |ke-local|-variabl|
|00000da0| 65 5d 20 35 5d 20 72 65 | 61 64 2d 73 63 68 65 6d |e] 5] re|ad-schem|
|00000db0| 65 2d 63 6f 6d 6d 61 6e | 64 2d 6c 69 6e 65 20 23 |e-comman|d-line #|
|00000dc0| 5b 28 61 72 67 29 20 22 | 08 ae 82 c1 20 1a 0b ab |[(arg) "|.... ...|
|00000dd0| 86 c4 c5 5c 6e 5c 22 aa | 81 5c 6e 29 87 22 20 5b |...\n\".|.\n)." [|
|00000de0| 78 73 63 68 65 6d 65 2d | 70 72 6f 63 65 73 73 2d |xscheme-|process-|
|00000df0| 63 6f 6d 6d 61 6e 64 2d | 6c 69 6e 65 20 78 73 63 |command-|line xsc|
|00000e00| 68 65 6d 65 2d 64 65 66 | 61 75 6c 74 2d 63 6f 6d |heme-def|ault-com|
|00000e10| 6d 61 6e 64 2d 6c 69 6e | 65 20 64 65 66 61 75 6c |mand-lin|e defaul|
|00000e20| 74 20 61 72 67 20 72 65 | 61 64 2d 73 74 72 69 6e |t arg re|ad-strin|
|00000e30| 67 20 22 52 75 6e 20 53 | 63 68 65 6d 65 3a 20 22 |g "Run S|cheme: "|
|00000e40| 5d 20 33 5d 20 78 73 63 | 68 65 6d 65 2d 64 65 66 |] 3] xsc|heme-def|
|00000e50| 61 75 6c 74 2d 63 6f 6d | 6d 61 6e 64 2d 6c 69 6e |ault-com|mand-lin|
|00000e60| 65 20 23 5b 6e 69 6c 20 | 22 08 c1 5c 6e ab 85 c3 |e #[nil |"..\n...|
|00000e70| 5c 6e 50 aa 81 c4 0d ab | 85 c6 0d 50 aa 81 c4 52 |\nP.....|...P...R|
|00000e80| 87 22 20 5b 73 63 68 65 | 6d 65 2d 70 72 6f 67 72 |." [sche|me-progr|
|00000e90| 61 6d 2d 6e 61 6d 65 20 | 22 20 2d 65 6d 61 63 73 |am-name |" -emacs|
|00000ea0| 22 20 73 63 68 65 6d 65 | 2d 70 72 6f 67 72 61 6d |" scheme|-program|
|00000eb0| 2d 61 72 67 75 6d 65 6e | 74 73 20 22 20 22 20 22 |-argumen|ts " " "|
|00000ec0| 22 20 73 63 68 65 6d 65 | 2d 62 61 6e 64 2d 6e 61 |" scheme|-band-na|
|00000ed0| 6d 65 20 22 20 2d 62 61 | 6e 64 20 22 5d 20 35 5d |me " -ba|nd "] 5]|
|00000ee0| 5d 20 32 29 0a 28 66 73 | 65 74 20 27 73 74 61 72 |] 2).(fs|et 'star|
|00000ef0| 74 2d 73 63 68 65 6d 65 | 20 23 5b 28 62 75 66 66 |t-scheme| #[(buff|
|00000f00| 65 72 2d 6e 61 6d 65 20 | 26 6f 70 74 69 6f 6e 61 |er-name |&optiona|
|00000f10| 6c 20 67 6c 6f 62 61 6c | 6c 79 29 20 22 c0 09 21 |l global|ly) "..!|
|00000f20| 1a c3 5c 6e 21 89 1c ab | 85 c5 5c 6e 21 aa a8 c6 |..\n!...|..\n!...|
|00000f30| 5c 6e 21 ab 8f c7 c8 c1 | 5c 6e 21 c9 c6 5c 6e 21 |\n!.....|\n!..\n!|
|00000f40| ca b0 05 21 ab 91 cb cc | cd 21 09 89 23 88 0e 0e |...!....|.!..#...|
|00000f50| ad 88 cf 09 21 aa 83 d0 | d1 21 2a 87 22 20 5b 67 |....!...|.!*." [g|
|00000f60| 65 74 2d 62 75 66 66 65 | 72 2d 63 72 65 61 74 65 |et-buffe|r-create|
|00000f70| 20 62 75 66 66 65 72 2d | 6e 61 6d 65 20 62 75 66 | buffer-|name buf|
|00000f80| 66 65 72 20 67 65 74 2d | 62 75 66 66 65 72 2d 70 |fer get-|buffer-p|
|00000f90| 72 6f 63 65 73 73 20 70 | 72 6f 63 65 73 73 20 73 |rocess p|rocess s|
|00000fa0| 77 69 74 63 68 2d 74 6f | 2d 62 75 66 66 65 72 20 |witch-to|-buffer |
|00000fb0| 62 75 66 66 65 72 2d 66 | 69 6c 65 2d 6e 61 6d 65 |buffer-f|ile-name|
|00000fc0| 20 79 65 73 2d 6f 72 2d | 6e 6f 2d 70 20 22 42 75 | yes-or-|no-p "Bu|
|00000fd0| 66 66 65 72 20 22 20 22 | 20 63 6f 6e 74 61 69 6e |ffer " "| contain|
|00000fe0| 73 20 66 69 6c 65 20 22 | 20 22 3b 20 73 74 61 72 |s file "| "; star|
|00000ff0| 74 20 73 63 68 65 6d 65 | 20 69 6e 20 69 74 3f 20 |t scheme| in it? |
|00001000| 22 20 73 63 68 65 6d 65 | 2d 73 74 61 72 74 20 72 |" scheme|-start r|
|00001010| 65 61 64 2d 73 63 68 65 | 6d 65 2d 63 6f 6d 6d 61 |ead-sche|me-comma|
|00001020| 6e 64 2d 6c 69 6e 65 20 | 74 20 67 6c 6f 62 61 6c |nd-line |t global|
|00001030| 6c 79 20 67 6c 6f 62 61 | 6c 2d 73 65 74 2d 73 63 |ly globa|l-set-sc|
|00001040| 68 65 6d 65 2d 69 6e 74 | 65 72 61 63 74 69 6f 6e |heme-int|eraction|
|00001050| 2d 62 75 66 66 65 72 20 | 6d 65 73 73 61 67 65 20 |-buffer |message |
|00001060| 22 73 74 61 72 74 2d 73 | 63 68 65 6d 65 20 61 62 |"start-s|cheme ab|
|00001070| 6f 72 74 65 64 22 5d 20 | 37 20 22 5c 0a 43 68 6f |orted"] |7 "\.Cho|
|00001080| 6f 73 65 20 61 20 73 63 | 68 65 6d 65 20 69 6e 74 |ose a sc|heme int|
|00001090| 65 72 61 63 74 69 6f 6e | 20 62 75 66 66 65 72 2c |eraction| buffer,|
|000010a0| 20 6f 72 20 63 72 65 61 | 74 65 20 61 20 6e 65 77 | or crea|te a new|
|000010b0| 20 6f 6e 65 2e 22 20 28 | 62 79 74 65 2d 63 6f 64 | one." (|byte-cod|
|000010c0| 65 20 22 c0 c1 5c 6e c3 | 23 0c 44 87 22 20 5b 72 |e "..\n.|#.D." [r|
|000010d0| 65 61 64 2d 62 75 66 66 | 65 72 20 22 53 63 68 65 |ead-buff|er "Sche|
|000010e0| 6d 65 20 69 6e 74 65 72 | 61 63 74 69 6f 6e 20 62 |me inter|action b|
|000010f0| 75 66 66 65 72 3a 20 22 | 20 78 73 63 68 65 6d 65 |uffer: "| xscheme|
|00001100| 2d 62 75 66 66 65 72 2d | 6e 61 6d 65 20 6e 69 6c |-buffer-|name nil|
|00001110| 20 63 75 72 72 65 6e 74 | 2d 70 72 65 66 69 78 2d | current|-prefix-|
|00001120| 61 72 67 5d 20 34 29 5d | 29 0a 28 66 73 65 74 20 |arg] 4)]|).(fset |
|00001130| 27 73 65 6c 65 63 74 2d | 73 63 68 65 6d 65 20 27 |'select-|scheme '|
|00001140| 73 74 61 72 74 2d 73 63 | 68 65 6d 65 29 0a 28 66 |start-sc|heme).(f|
|00001150| 73 65 74 20 27 67 6c 6f | 62 61 6c 2d 73 65 74 2d |set 'glo|bal-set-|
|00001160| 73 63 68 65 6d 65 2d 69 | 6e 74 65 72 61 63 74 69 |scheme-i|nteracti|
|00001170| 6f 6e 2d 62 75 66 66 65 | 72 20 23 5b 28 62 75 66 |on-buffe|r #[(buf|
|00001180| 66 65 72 2d 6e 61 6d 65 | 29 20 22 c0 09 c2 5c 22 |fer-name|) "...\"|
|00001190| 1b c4 c5 09 5c 22 88 c4 | c6 0b 5c 22 88 c4 c7 8a |....\"..|..\"....|
|000011a0| 09 71 88 0e 07 29 5c 22 | 88 c4 c8 c9 0b 21 ca 3d |.q...)\"|.....!.=|
|000011b0| ab 84 0e 0b aa 81 cc 5c | 22 29 87 22 20 5b 76 65 |.......\|")." [ve|
|000011c0| 72 69 66 79 2d 78 73 63 | 68 65 6d 65 2d 62 75 66 |rify-xsc|heme-buf|
|000011d0| 66 65 72 20 62 75 66 66 | 65 72 2d 6e 61 6d 65 20 |fer buff|er-name |
|000011e0| 6e 69 6c 20 70 72 6f 63 | 65 73 73 2d 6e 61 6d 65 |nil proc|ess-name|
|000011f0| 20 73 65 74 2d 64 65 66 | 61 75 6c 74 20 78 73 63 | set-def|ault xsc|
|00001200| 68 65 6d 65 2d 62 75 66 | 66 65 72 2d 6e 61 6d 65 |heme-buf|fer-name|
|00001210| 20 78 73 63 68 65 6d 65 | 2d 70 72 6f 63 65 73 73 | xscheme|-process|
|00001220| 2d 6e 61 6d 65 20 78 73 | 63 68 65 6d 65 2d 72 75 |-name xs|cheme-ru|
|00001230| 6e 6c 69 67 68 74 2d 73 | 74 72 69 6e 67 20 78 73 |nlight-s|tring xs|
|00001240| 63 68 65 6d 65 2d 72 75 | 6e 6c 69 67 68 74 20 70 |cheme-ru|nlight p|
|00001250| 72 6f 63 65 73 73 2d 73 | 74 61 74 75 73 20 72 75 |rocess-s|tatus ru|
|00001260| 6e 20 64 65 66 61 75 6c | 74 2d 78 73 63 68 65 6d |n defaul|t-xschem|
|00001270| 65 2d 72 75 6e 6c 69 67 | 68 74 20 22 22 5d 20 34 |e-runlig|ht ""] 4|
|00001280| 20 22 5c 0a 53 65 74 20 | 74 68 65 20 64 65 66 61 | "\.Set |the defa|
|00001290| 75 6c 74 20 73 63 68 65 | 6d 65 20 69 6e 74 65 72 |ult sche|me inter|
|000012a0| 61 63 74 69 6f 6e 20 62 | 75 66 66 65 72 2e 22 20 |action b|uffer." |
|000012b0| 28 62 79 74 65 2d 63 6f | 64 65 20 22 c0 c1 5c 6e |(byte-co|de "..\n|
|000012c0| c3 23 43 87 22 20 5b 72 | 65 61 64 2d 62 75 66 66 |.#C." [r|ead-buff|
|000012d0| 65 72 20 22 53 63 68 65 | 6d 65 20 69 6e 74 65 72 |er "Sche|me inter|
|000012e0| 61 63 74 69 6f 6e 20 62 | 75 66 66 65 72 3a 20 22 |action b|uffer: "|
|000012f0| 20 78 73 63 68 65 6d 65 | 2d 62 75 66 66 65 72 2d | xscheme|-buffer-|
|00001300| 6e 61 6d 65 20 74 5d 20 | 34 29 5d 29 0a 28 66 73 |name t] |4)]).(fs|
|00001310| 65 74 20 27 6c 6f 63 61 | 6c 2d 73 65 74 2d 73 63 |et 'loca|l-set-sc|
|00001320| 68 65 6d 65 2d 69 6e 74 | 65 72 61 63 74 69 6f 6e |heme-int|eraction|
|00001330| 2d 62 75 66 66 65 72 20 | 23 5b 28 62 75 66 66 65 |-buffer |#[(buffe|
|00001340| 72 2d 6e 61 6d 65 29 20 | 22 c0 09 c2 5c 22 1b c4 |r-name) |"...\"..|
|00001350| c5 21 88 09 15 c4 c6 21 | 88 0b 16 06 c4 c7 21 88 |.!.....!|......!.|
|00001360| 8a 09 71 88 0e 07 29 89 | 16 07 29 87 22 20 5b 76 |..q...).|..)." [v|
|00001370| 65 72 69 66 79 2d 78 73 | 63 68 65 6d 65 2d 62 75 |erify-xs|cheme-bu|
|00001380| 66 66 65 72 20 62 75 66 | 66 65 72 2d 6e 61 6d 65 |ffer buf|fer-name|
|00001390| 20 74 20 70 72 6f 63 65 | 73 73 2d 6e 61 6d 65 20 | t proce|ss-name |
|000013a0| 6d 61 6b 65 2d 6c 6f 63 | 61 6c 2d 76 61 72 69 61 |make-loc|al-varia|
|000013b0| 62 6c 65 20 78 73 63 68 | 65 6d 65 2d 62 75 66 66 |ble xsch|eme-buff|
|000013c0| 65 72 2d 6e 61 6d 65 20 | 78 73 63 68 65 6d 65 2d |er-name |xscheme-|
|000013d0| 70 72 6f 63 65 73 73 2d | 6e 61 6d 65 20 78 73 63 |process-|name xsc|
|000013e0| 68 65 6d 65 2d 72 75 6e | 6c 69 67 68 74 5d 20 33 |heme-run|light] 3|
|000013f0| 20 22 5c 0a 53 65 74 20 | 74 68 65 20 73 63 68 65 | "\.Set |the sche|
|00001400| 6d 65 20 69 6e 74 65 72 | 61 63 74 69 6f 6e 20 62 |me inter|action b|
|00001410| 75 66 66 65 72 20 66 6f | 72 20 74 68 65 20 63 75 |uffer fo|r the cu|
|00001420| 72 72 65 6e 74 20 62 75 | 66 66 65 72 2e 22 20 28 |rrent bu|ffer." (|
|00001430| 62 79 74 65 2d 63 6f 64 | 65 20 22 c0 c1 5c 6e c3 |byte-cod|e "..\n.|
|00001440| 23 43 87 22 20 5b 72 65 | 61 64 2d 62 75 66 66 65 |#C." [re|ad-buffe|
|00001450| 72 20 22 53 63 68 65 6d | 65 20 69 6e 74 65 72 61 |r "Schem|e intera|
|00001460| 63 74 69 6f 6e 20 62 75 | 66 66 65 72 3a 20 22 20 |ction bu|ffer: " |
|00001470| 78 73 63 68 65 6d 65 2d | 62 75 66 66 65 72 2d 6e |xscheme-|buffer-n|
|00001480| 61 6d 65 20 74 5d 20 34 | 29 5d 29 0a 28 66 73 65 |ame t] 4|)]).(fse|
|00001490| 74 20 27 6c 6f 63 61 6c | 2d 63 6c 65 61 72 2d 73 |t 'local|-clear-s|
|000014a0| 63 68 65 6d 65 2d 69 6e | 74 65 72 61 63 74 69 6f |cheme-in|teractio|
|000014b0| 6e 2d 62 75 66 66 65 72 | 20 23 5b 6e 69 6c 20 22 |n-buffer| #[nil "|
|000014c0| c0 20 ab 84 c1 c2 21 88 | c3 c4 21 88 c3 c5 21 88 |. ....!.|..!...!.|
|000014d0| c3 c6 21 87 22 20 5b 78 | 73 63 68 65 6d 65 2d 70 |..!." [x|scheme-p|
|000014e0| 72 6f 63 65 73 73 2d 62 | 75 66 66 65 72 2d 63 75 |rocess-b|uffer-cu|
|000014f0| 72 72 65 6e 74 2d 70 20 | 65 72 72 6f 72 20 22 43 |rrent-p |error "C|
|00001500| 61 6e 6e 6f 74 20 63 68 | 61 6e 67 65 20 74 68 65 |annot ch|ange the|
|00001510| 20 69 6e 74 65 72 61 63 | 74 69 6f 6e 20 62 75 66 | interac|tion buf|
|00001520| 66 65 72 20 6f 66 20 61 | 6e 20 69 6e 74 65 72 61 |fer of a|n intera|
|00001530| 63 74 69 6f 6e 20 62 75 | 66 66 65 72 22 20 6b 69 |ction bu|ffer" ki|
|00001540| 6c 6c 2d 6c 6f 63 61 6c | 2d 76 61 72 69 61 62 6c |ll-local|-variabl|
|00001550| 65 20 78 73 63 68 65 6d | 65 2d 62 75 66 66 65 72 |e xschem|e-buffer|
|00001560| 2d 6e 61 6d 65 20 78 73 | 63 68 65 6d 65 2d 70 72 |-name xs|cheme-pr|
|00001570| 6f 63 65 73 73 2d 6e 61 | 6d 65 20 78 73 63 68 65 |ocess-na|me xsche|
|00001580| 6d 65 2d 72 75 6e 6c 69 | 67 68 74 5d 20 32 20 22 |me-runli|ght] 2 "|
|00001590| 5c 0a 4d 61 6b 65 20 74 | 68 65 20 63 75 72 72 65 |\.Make t|he curre|
|000015a0| 6e 74 20 62 75 66 66 65 | 72 20 75 73 65 20 74 68 |nt buffe|r use th|
|000015b0| 65 20 64 65 66 61 75 6c | 74 20 73 63 68 65 6d 65 |e defaul|t scheme|
|000015c0| 20 69 6e 74 65 72 61 63 | 74 69 6f 6e 20 62 75 66 | interac|tion buf|
|000015d0| 66 65 72 2e 22 20 6e 69 | 6c 5d 29 0a 28 66 73 65 |fer." ni|l]).(fse|
|000015e0| 74 20 27 76 65 72 69 66 | 79 2d 78 73 63 68 65 6d |t 'verif|y-xschem|
|000015f0| 65 2d 62 75 66 66 65 72 | 20 23 5b 28 62 75 66 66 |e-buffer| #[(buff|
|00001600| 65 72 2d 6e 61 6d 65 20 | 6c 6f 63 61 6c 70 29 20 |er-name |localp) |
|00001610| 22 08 ab 88 c1 20 ab 84 | c2 c3 21 88 c4 0d 21 89 |".... ..|..!...!.|
|00001620| 1e 06 ad 84 c7 0e 06 21 | 1e 08 0e 06 ac 86 c2 c9 |.......!|........|
|00001630| 0d 5c 22 aa 9d 0e 08 ac | 86 c2 ca 0d 5c 22 aa 93 |.\".....|....\"..|
|00001640| 8a 0e 06 71 88 c1 20 ac | 85 c2 ca 0d 5c 22 88 29 |...q.. .|....\".)|
|00001650| cb 0e 08 21 2a 87 22 20 | 5b 6c 6f 63 61 6c 70 20 |...!*." |[localp |
|00001660| 78 73 63 68 65 6d 65 2d | 70 72 6f 63 65 73 73 2d |xscheme-|process-|
|00001670| 62 75 66 66 65 72 2d 63 | 75 72 72 65 6e 74 2d 70 |buffer-c|urrent-p|
|00001680| 20 65 72 72 6f 72 20 22 | 43 61 6e 6e 6f 74 20 63 | error "|Cannot c|
|00001690| 68 61 6e 67 65 20 74 68 | 65 20 69 6e 74 65 72 61 |hange th|e intera|
|000016a0| 63 74 69 6f 6e 20 62 75 | 66 66 65 72 20 6f 66 20 |ction bu|ffer of |
|000016b0| 61 6e 20 69 6e 74 65 72 | 61 63 74 69 6f 6e 20 62 |an inter|action b|
|000016c0| 75 66 66 65 72 22 20 67 | 65 74 2d 62 75 66 66 65 |uffer" g|et-buffe|
|000016d0| 72 20 62 75 66 66 65 72 | 2d 6e 61 6d 65 20 62 75 |r buffer|-name bu|
|000016e0| 66 66 65 72 20 67 65 74 | 2d 62 75 66 66 65 72 2d |ffer get|-buffer-|
|000016f0| 70 72 6f 63 65 73 73 20 | 70 72 6f 63 65 73 73 20 |process |process |
|00001700| 22 42 75 66 66 65 72 20 | 64 6f 65 73 20 6e 6f 74 |"Buffer |does not|
|00001710| 20 65 78 69 73 74 22 20 | 22 42 75 66 66 65 72 20 | exist" |"Buffer |
|00001720| 69 73 20 6e 6f 74 20 61 | 20 73 63 68 65 6d 65 20 |is not a| scheme |
|00001730| 69 6e 74 65 72 61 63 74 | 69 6f 6e 20 62 75 66 66 |interact|ion buff|
|00001740| 65 72 22 20 70 72 6f 63 | 65 73 73 2d 6e 61 6d 65 |er" proc|ess-name|
|00001750| 5d 20 34 5d 29 0a 28 66 | 73 65 74 20 27 73 63 68 |] 4]).(f|set 'sch|
|00001760| 65 6d 65 2d 69 6e 74 65 | 72 61 63 74 69 6f 6e 2d |eme-inte|raction-|
|00001770| 6d 6f 64 65 20 23 5b 28 | 26 6f 70 74 69 6f 6e 61 |mode #[(|&optiona|
|00001780| 6c 20 70 72 65 73 65 72 | 76 65 29 20 22 08 ac df |l preser|ve) "...|
|00001790| 09 1a c3 20 88 c4 c5 21 | 88 c4 c6 21 88 c4 c7 21 |... ...!|...!...!|
|000017a0| 88 c4 c8 21 88 c4 c9 21 | 88 c4 ca 21 88 5c 6e 15 |...!...!|...!.\n.|
|000017b0| 70 1e 0b cc 0e 0b 21 16 | 06 cd 0e 0b 21 89 1e 0e |p.....!.|....!...|
|000017c0| ac 87 cf 89 42 16 08 aa | a6 d0 0e 0e 21 16 07 d1 |....B...|....!...|
|000017d0| 0e 0e 21 d2 0e 0e 21 42 | 16 08 d3 d4 21 88 d5 0e |..!...!B|....!...|
|000017e0| 06 21 88 d6 0e 0e d7 5c | 22 88 d8 0e 0e d9 5c 22 |.!.....\|".....\"|
|000017f0| 88 2b da 20 88 db 20 88 | dc dd de 5c 22 87 22 20 |.+. .. .|...\"." |
|00001800| 5b 70 72 65 73 65 72 76 | 65 20 6d 61 6a 6f 72 2d |[preserv|e major-|
|00001810| 6d 6f 64 65 20 70 72 65 | 76 69 6f 75 73 2d 6d 6f |mode pre|vious-mo|
|00001820| 64 65 20 6b 69 6c 6c 2d | 61 6c 6c 2d 6c 6f 63 61 |de kill-|all-loca|
|00001830| 6c 2d 76 61 72 69 61 62 | 6c 65 73 20 6d 61 6b 65 |l-variab|les make|
|00001840| 2d 6c 6f 63 61 6c 2d 76 | 61 72 69 61 62 6c 65 20 |-local-v|ariable |
|00001850| 78 73 63 68 65 6d 65 2d | 70 72 65 76 69 6f 75 73 |xscheme-|previous|
|00001860| 2d 6d 6f 64 65 20 78 73 | 63 68 65 6d 65 2d 62 75 |-mode xs|cheme-bu|
|00001870| 66 66 65 72 2d 6e 61 6d | 65 20 78 73 63 68 65 6d |ffer-nam|e xschem|
|00001880| 65 2d 70 72 6f 63 65 73 | 73 2d 6e 61 6d 65 20 78 |e-proces|s-name x|
|00001890| 73 63 68 65 6d 65 2d 70 | 72 65 76 69 6f 75 73 2d |scheme-p|revious-|
|000018a0| 70 72 6f 63 65 73 73 2d | 73 74 61 74 65 20 78 73 |process-|state xs|
|000018b0| 63 68 65 6d 65 2d 72 75 | 6e 6c 69 67 68 74 2d 73 |cheme-ru|nlight-s|
|000018c0| 74 72 69 6e 67 20 78 73 | 63 68 65 6d 65 2d 72 75 |tring xs|cheme-ru|
|000018d0| 6e 6c 69 67 68 74 20 62 | 75 66 66 65 72 20 62 75 |nlight b|uffer bu|
|000018e0| 66 66 65 72 2d 6e 61 6d | 65 20 67 65 74 2d 62 75 |ffer-nam|e get-bu|
|000018f0| 66 66 65 72 2d 70 72 6f | 63 65 73 73 20 70 72 6f |ffer-pro|cess pro|
|00001900| 63 65 73 73 20 6e 69 6c | 20 70 72 6f 63 65 73 73 |cess nil| process|
|00001910| 2d 6e 61 6d 65 20 70 72 | 6f 63 65 73 73 2d 66 69 |-name pr|ocess-fi|
|00001920| 6c 74 65 72 20 70 72 6f | 63 65 73 73 2d 73 65 6e |lter pro|cess-sen|
|00001930| 74 69 6e 65 6c 20 78 73 | 63 68 65 6d 65 2d 70 72 |tinel xs|cheme-pr|
|00001940| 6f 63 65 73 73 2d 66 69 | 6c 74 65 72 2d 69 6e 69 |ocess-fi|lter-ini|
|00001950| 74 69 61 6c 69 7a 65 20 | 74 20 78 73 63 68 65 6d |tialize |t xschem|
|00001960| 65 2d 6d 6f 64 65 6c 69 | 6e 65 2d 69 6e 69 74 69 |e-modeli|ne-initi|
|00001970| 61 6c 69 7a 65 20 73 65 | 74 2d 70 72 6f 63 65 73 |alize se|t-proces|
|00001980| 73 2d 73 65 6e 74 69 6e | 65 6c 20 78 73 63 68 65 |s-sentin|el xsche|
|00001990| 6d 65 2d 70 72 6f 63 65 | 73 73 2d 73 65 6e 74 69 |me-proce|ss-senti|
|000019a0| 6e 65 6c 20 73 65 74 2d | 70 72 6f 63 65 73 73 2d |nel set-|process-|
|000019b0| 66 69 6c 74 65 72 20 78 | 73 63 68 65 6d 65 2d 70 |filter x|scheme-p|
|000019c0| 72 6f 63 65 73 73 2d 66 | 69 6c 74 65 72 20 73 63 |rocess-f|ilter sc|
|000019d0| 68 65 6d 65 2d 69 6e 74 | 65 72 61 63 74 69 6f 6e |heme-int|eraction|
|000019e0| 2d 6d 6f 64 65 2d 69 6e | 69 74 69 61 6c 69 7a 65 |-mode-in|itialize|
|000019f0| 20 73 63 68 65 6d 65 2d | 6d 6f 64 65 2d 76 61 72 | scheme-|mode-var|
|00001a00| 69 61 62 6c 65 73 20 72 | 75 6e 2d 68 6f 6f 6b 73 |iables r|un-hooks|
|00001a10| 20 73 63 68 65 6d 65 2d | 6d 6f 64 65 2d 68 6f 6f | scheme-|mode-hoo|
|00001a20| 6b 20 73 63 68 65 6d 65 | 2d 69 6e 74 65 72 61 63 |k scheme|-interac|
|00001a30| 74 69 6f 6e 2d 6d 6f 64 | 65 2d 68 6f 6f 6b 5d 20 |tion-mod|e-hook] |
|00001a40| 34 20 22 5c 0a 4d 61 6a | 6f 72 20 6d 6f 64 65 20 |4 "\.Maj|or mode |
|00001a50| 66 6f 72 20 69 6e 74 65 | 72 61 63 74 69 6e 67 20 |for inte|racting |
|00001a60| 77 69 74 68 20 74 68 65 | 20 69 6e 66 65 72 69 6f |with the| inferio|
|00001a70| 72 20 53 63 68 65 6d 65 | 20 70 72 6f 63 65 73 73 |r Scheme| process|
|00001a80| 2e 0a 4c 69 6b 65 20 20 | 73 63 68 65 6d 65 2d 6d |..Like |scheme-m|
|00001a90| 6f 64 65 20 20 65 78 63 | 65 70 74 20 74 68 61 74 |ode exc|ept that|
|00001aa0| 3a 0a 0a 5c 5c 5b 61 64 | 76 65 72 74 69 73 65 64 |:..\\[ad|vertised|
|00001ab0| 2d 78 73 63 68 65 6d 65 | 2d 73 65 6e 64 2d 70 72 |-xscheme|-send-pr|
|00001ac0| 65 76 69 6f 75 73 2d 65 | 78 70 72 65 73 73 69 6f |evious-e|xpressio|
|00001ad0| 6e 5d 20 73 65 6e 64 73 | 20 74 68 65 20 65 78 70 |n] sends| the exp|
|00001ae0| 72 65 73 73 69 6f 6e 20 | 62 65 66 6f 72 65 20 70 |ression |before p|
|00001af0| 6f 69 6e 74 20 74 6f 20 | 74 68 65 20 53 63 68 65 |oint to |the Sche|
|00001b00| 6d 65 20 70 72 6f 63 65 | 73 73 20 61 73 20 69 6e |me proce|ss as in|
|00001b10| 70 75 74 0a 5c 5c 5b 78 | 73 63 68 65 6d 65 2d 79 |put.\\[x|scheme-y|
|00001b20| 61 6e 6b 2d 70 6f 70 5d | 20 79 61 6e 6b 73 20 61 |ank-pop]| yanks a|
|00001b30| 6e 20 65 78 70 72 65 73 | 73 69 6f 6e 20 70 72 65 |n expres|sion pre|
|00001b40| 76 69 6f 75 73 6c 79 20 | 73 65 6e 74 20 74 6f 20 |viously |sent to |
|00001b50| 53 63 68 65 6d 65 0a 5c | 5c 5b 78 73 63 68 65 6d |Scheme.\|\[xschem|
|00001b60| 65 2d 79 61 6e 6b 2d 70 | 75 73 68 5d 20 79 61 6e |e-yank-p|ush] yan|
|00001b70| 6b 73 20 61 6e 20 65 78 | 70 72 65 73 73 69 6f 6e |ks an ex|pression|
|00001b80| 20 6d 6f 72 65 20 72 65 | 63 65 6e 74 6c 79 20 73 | more re|cently s|
|00001b90| 65 6e 74 20 74 6f 20 53 | 63 68 65 6d 65 0a 0a 41 |ent to S|cheme..A|
|00001ba0| 6c 6c 20 6f 75 74 70 75 | 74 20 66 72 6f 6d 20 74 |ll outpu|t from t|
|00001bb0| 68 65 20 53 63 68 65 6d | 65 20 70 72 6f 63 65 73 |he Schem|e proces|
|00001bc0| 73 20 69 73 20 77 72 69 | 74 74 65 6e 20 69 6e 20 |s is wri|tten in |
|00001bd0| 74 68 65 20 53 63 68 65 | 6d 65 20 70 72 6f 63 65 |the Sche|me proce|
|00001be0| 73 73 0a 62 75 66 66 65 | 72 2c 20 77 68 69 63 68 |ss.buffe|r, which|
|00001bf0| 20 69 73 20 69 6e 69 74 | 69 61 6c 6c 79 20 6e 61 | is init|ially na|
|00001c00| 6d 65 64 20 5c 22 2a 73 | 63 68 65 6d 65 2a 5c 22 |med \"*s|cheme*\"|
|00001c10| 2e 20 20 54 68 65 20 72 | 65 73 75 6c 74 20 6f 66 |. The r|esult of|
|00001c20| 0a 65 76 61 6c 75 61 74 | 69 6e 67 20 61 20 53 63 |.evaluat|ing a Sc|
|00001c30| 68 65 6d 65 20 65 78 70 | 72 65 73 73 69 6f 6e 20 |heme exp|ression |
|00001c40| 69 73 20 61 6c 73 6f 20 | 70 72 69 6e 74 65 64 20 |is also |printed |
|00001c50| 69 6e 20 74 68 65 20 70 | 72 6f 63 65 73 73 20 62 |in the p|rocess b|
|00001c60| 75 66 66 65 72 2c 0a 70 | 72 65 63 65 64 65 64 20 |uffer,.p|receded |
|00001c70| 62 79 20 74 68 65 20 73 | 74 72 69 6e 67 20 5c 22 |by the s|tring \"|
|00001c80| 3b 56 61 6c 75 65 3a 20 | 5c 22 20 74 6f 20 68 69 |;Value: |\" to hi|
|00001c90| 67 68 6c 69 67 68 74 20 | 69 74 2e 20 20 49 66 20 |ghlight |it. If |
|00001ca0| 74 68 65 20 70 72 6f 63 | 65 73 73 0a 62 75 66 66 |the proc|ess.buff|
|00001cb0| 65 72 20 69 73 20 6e 6f | 74 20 76 69 73 69 62 6c |er is no|t visibl|
|00001cc0| 65 20 61 74 20 74 68 61 | 74 20 74 69 6d 65 2c 20 |e at tha|t time, |
|00001cd0| 74 68 65 20 76 61 6c 75 | 65 20 77 69 6c 6c 20 61 |the valu|e will a|
|00001ce0| 6c 73 6f 20 62 65 20 64 | 69 73 70 6c 61 79 65 64 |lso be d|isplayed|
|00001cf0| 0a 69 6e 20 74 68 65 20 | 6d 69 6e 69 62 75 66 66 |.in the |minibuff|
|00001d00| 65 72 2e 20 20 49 66 20 | 61 6e 20 65 72 72 6f 72 |er. If |an error|
|00001d10| 20 6f 63 63 75 72 73 2c | 20 74 68 65 20 70 72 6f | occurs,| the pro|
|00001d20| 63 65 73 73 20 62 75 66 | 66 65 72 20 77 69 6c 6c |cess buf|fer will|
|00001d30| 0a 61 75 74 6f 6d 61 74 | 69 63 61 6c 6c 79 20 70 |.automat|ically p|
|00001d40| 6f 70 20 75 70 20 74 6f | 20 73 68 6f 77 20 79 6f |op up to| show yo|
|00001d50| 75 20 74 68 65 20 65 72 | 72 6f 72 20 6d 65 73 73 |u the er|ror mess|
|00001d60| 61 67 65 2e 0a 0a 57 68 | 69 6c 65 20 74 68 65 20 |age...Wh|ile the |
|00001d70| 53 63 68 65 6d 65 20 70 | 72 6f 63 65 73 73 20 69 |Scheme p|rocess i|
|00001d80| 73 20 72 75 6e 6e 69 6e | 67 2c 20 74 68 65 20 6d |s runnin|g, the m|
|00001d90| 6f 64 65 6c 69 6e 65 73 | 20 6f 66 20 61 6c 6c 20 |odelines| of all |
|00001da0| 62 75 66 66 65 72 73 20 | 69 6e 0a 73 63 68 65 6d |buffers |in.schem|
|00001db0| 65 2d 6d 6f 64 65 20 61 | 72 65 20 6d 6f 64 69 66 |e-mode a|re modif|
|00001dc0| 69 65 64 20 74 6f 20 73 | 68 6f 77 20 74 68 65 20 |ied to s|how the |
|00001dd0| 73 74 61 74 65 20 6f 66 | 20 74 68 65 20 70 72 6f |state of| the pro|
|00001de0| 63 65 73 73 2e 20 20 54 | 68 65 0a 70 6f 73 73 69 |cess. T|he.possi|
|00001df0| 62 6c 65 20 73 74 61 74 | 65 73 20 61 6e 64 20 74 |ble stat|es and t|
|00001e00| 68 65 69 72 20 6d 65 61 | 6e 69 6e 67 73 20 61 72 |heir mea|nings ar|
|00001e10| 65 3a 0a 0a 69 6e 70 75 | 74 09 09 77 61 69 74 69 |e:..inpu|t..waiti|
|00001e20| 6e 67 20 66 6f 72 20 69 | 6e 70 75 74 0a 72 75 6e |ng for i|nput.run|
|00001e30| 09 09 65 76 61 6c 75 61 | 74 69 6e 67 0a 67 63 09 |..evalua|ting.gc.|
|00001e40| 09 67 61 72 62 61 67 65 | 20 63 6f 6c 6c 65 63 74 |.garbage| collect|
|00001e50| 69 6e 67 0a 0a 54 68 65 | 20 70 72 6f 63 65 73 73 |ing..The| process|
|00001e60| 20 62 75 66 66 65 72 27 | 73 20 6d 6f 64 65 6c 69 | buffer'|s modeli|
|00001e70| 6e 65 20 63 6f 6e 74 61 | 69 6e 73 20 61 64 64 69 |ne conta|ins addi|
|00001e80| 74 69 6f 6e 61 6c 20 69 | 6e 66 6f 72 6d 61 74 69 |tional i|nformati|
|00001e90| 6f 6e 20 77 68 65 72 65 | 0a 74 68 65 20 62 75 66 |on where|.the buf|
|00001ea0| 66 65 72 27 73 20 6e 61 | 6d 65 20 69 73 20 6e 6f |fer's na|me is no|
|00001eb0| 72 6d 61 6c 6c 79 20 64 | 69 73 70 6c 61 79 65 64 |rmally d|isplayed|
|00001ec0| 3a 20 74 68 65 20 63 6f | 6d 6d 61 6e 64 20 69 6e |: the co|mmand in|
|00001ed0| 74 65 72 70 72 65 74 65 | 72 20 6c 65 76 65 6c 0a |terprete|r level.|
|00001ee0| 61 6e 64 20 74 79 70 65 | 2e 0a 0a 53 63 68 65 6d |and type|...Schem|
|00001ef0| 65 20 6d 61 69 6e 74 61 | 69 6e 73 20 61 20 73 74 |e mainta|ins a st|
|00001f00| 61 63 6b 20 6f 66 20 63 | 6f 6d 6d 61 6e 64 20 69 |ack of c|ommand i|
|00001f10| 6e 74 65 72 70 72 65 74 | 65 72 73 2e 20 20 45 76 |nterpret|ers. Ev|
|00001f20| 65 72 79 20 74 69 6d 65 | 20 61 6e 20 65 72 72 6f |ery time| an erro|
|00001f30| 72 0a 6f 72 20 62 72 65 | 61 6b 70 6f 69 6e 74 20 |r.or bre|akpoint |
|00001f40| 6f 63 63 75 72 73 2c 20 | 74 68 65 20 63 75 72 72 |occurs, |the curr|
|00001f50| 65 6e 74 20 63 6f 6d 6d | 61 6e 64 20 69 6e 74 65 |ent comm|and inte|
|00001f60| 72 70 72 65 74 65 72 20 | 69 73 20 70 75 73 68 65 |rpreter |is pushe|
|00001f70| 64 20 6f 6e 20 74 68 65 | 0a 63 6f 6d 6d 61 6e 64 |d on the|.command|
|00001f80| 20 69 6e 74 65 72 70 72 | 65 74 65 72 20 73 74 61 | interpr|eter sta|
|00001f90| 63 6b 2c 20 61 6e 64 20 | 61 20 6e 65 77 20 63 6f |ck, and |a new co|
|00001fa0| 6d 6d 61 6e 64 20 69 6e | 74 65 72 70 72 65 74 65 |mmand in|terprete|
|00001fb0| 72 20 69 73 20 73 74 61 | 72 74 65 64 2e 0a 4f 6e |r is sta|rted..On|
|00001fc0| 65 20 65 78 61 6d 70 6c | 65 20 6f 66 20 77 68 79 |e exampl|e of why|
|00001fd0| 20 74 68 69 73 20 69 73 | 20 64 6f 6e 65 20 69 73 | this is| done is|
|00001fe0| 20 73 6f 20 74 68 61 74 | 20 61 6e 20 65 72 72 6f | so that| an erro|
|00001ff0| 72 20 74 68 61 74 20 6f | 63 63 75 72 73 20 77 68 |r that o|ccurs wh|
|00002000| 69 6c 65 0a 79 6f 75 20 | 61 72 65 20 64 65 62 75 |ile.you |are debu|
|00002010| 67 67 69 6e 67 20 61 6e | 6f 74 68 65 72 20 65 72 |gging an|other er|
|00002020| 72 6f 72 20 77 69 6c 6c | 20 6e 6f 74 20 64 65 73 |ror will| not des|
|00002030| 74 72 6f 79 20 74 68 65 | 20 73 74 61 74 65 20 6f |troy the| state o|
|00002040| 66 20 74 68 65 0a 69 6e | 69 74 69 61 6c 20 65 72 |f the.in|itial er|
|00002050| 72 6f 72 2c 20 61 6c 6c | 6f 77 69 6e 67 20 79 6f |ror, all|owing yo|
|00002060| 75 20 74 6f 20 72 65 74 | 75 72 6e 20 74 6f 20 69 |u to ret|urn to i|
|00002070| 74 20 61 66 74 65 72 20 | 74 68 65 20 73 65 63 6f |t after |the seco|
|00002080| 6e 64 20 65 72 72 6f 72 | 20 68 61 73 0a 62 65 65 |nd error| has.bee|
|00002090| 6e 20 66 69 78 65 64 2e | 0a 0a 54 68 65 20 63 6f |n fixed.|..The co|
|000020a0| 6d 6d 61 6e 64 20 69 6e | 74 65 72 70 72 65 74 65 |mmand in|terprete|
|000020b0| 72 20 6c 65 76 65 6c 20 | 69 6e 64 69 63 61 74 65 |r level |indicate|
|000020c0| 73 20 68 6f 77 20 6d 61 | 6e 79 20 69 6e 74 65 72 |s how ma|ny inter|
|000020d0| 70 72 65 74 65 72 73 20 | 61 72 65 20 69 6e 0a 74 |preters |are in.t|
|000020e0| 68 65 20 63 6f 6d 6d 61 | 6e 64 20 69 6e 74 65 72 |he comma|nd inter|
|000020f0| 70 72 65 74 65 72 20 73 | 74 61 63 6b 2e 20 20 49 |preter s|tack. I|
|00002100| 74 20 69 73 20 69 6e 69 | 74 69 61 6c 6c 79 20 73 |t is ini|tially s|
|00002110| 65 74 20 74 6f 20 6f 6e | 65 2c 20 61 6e 64 20 69 |et to on|e, and i|
|00002120| 74 20 69 73 0a 69 6e 63 | 72 65 6d 65 6e 74 65 64 |t is.inc|remented|
|00002130| 20 65 76 65 72 79 20 74 | 69 6d 65 20 74 68 61 74 | every t|ime that|
|00002140| 20 73 74 61 63 6b 20 69 | 73 20 70 75 73 68 65 64 | stack i|s pushed|
|00002150| 2c 20 61 6e 64 20 64 65 | 63 72 65 6d 65 6e 74 65 |, and de|cremente|
|00002160| 64 20 65 76 65 72 79 0a | 74 69 6d 65 20 69 74 20 |d every.|time it |
|00002170| 69 73 20 70 6f 70 70 65 | 64 2e 20 20 54 68 65 20 |is poppe|d. The |
|00002180| 66 6f 6c 6c 6f 77 69 6e | 67 20 63 6f 6d 6d 61 6e |followin|g comman|
|00002190| 64 73 20 61 72 65 20 75 | 73 65 66 75 6c 20 66 6f |ds are u|seful fo|
|000021a0| 72 20 6d 61 6e 69 70 75 | 6c 61 74 69 6e 67 0a 74 |r manipu|lating.t|
|000021b0| 68 65 20 63 6f 6d 6d 61 | 6e 64 20 69 6e 74 65 72 |he comma|nd inter|
|000021c0| 70 72 65 74 65 72 20 73 | 74 61 63 6b 3a 0a 0a 5c |preter s|tack:..\|
|000021d0| 5c 5b 78 73 63 68 65 6d | 65 2d 73 65 6e 64 2d 62 |\[xschem|e-send-b|
|000021e0| 72 65 61 6b 70 6f 69 6e | 74 2d 69 6e 74 65 72 72 |reakpoin|t-interr|
|000021f0| 75 70 74 5d 09 70 75 73 | 68 65 73 20 74 68 65 20 |upt].pus|hes the |
|00002200| 73 74 61 63 6b 20 6f 6e | 63 65 0a 5c 5c 5b 78 73 |stack on|ce.\\[xs|
|00002210| 63 68 65 6d 65 2d 73 65 | 6e 64 2d 63 6f 6e 74 72 |cheme-se|nd-contr|
|00002220| 6f 6c 2d 75 2d 69 6e 74 | 65 72 72 75 70 74 5d 09 |ol-u-int|errupt].|
|00002230| 70 6f 70 73 20 74 68 65 | 20 73 74 61 63 6b 20 6f |pops the| stack o|
|00002240| 6e 63 65 0a 5c 5c 5b 78 | 73 63 68 65 6d 65 2d 73 |nce.\\[x|scheme-s|
|00002250| 65 6e 64 2d 63 6f 6e 74 | 72 6f 6c 2d 67 2d 69 6e |end-cont|rol-g-in|
|00002260| 74 65 72 72 75 70 74 5d | 09 70 6f 70 73 20 65 76 |terrupt]|.pops ev|
|00002270| 65 72 79 74 68 69 6e 67 | 20 6f 66 66 0a 5c 5c 5b |erything| off.\\[|
|00002280| 78 73 63 68 65 6d 65 2d | 73 65 6e 64 2d 63 6f 6e |xscheme-|send-con|
|00002290| 74 72 6f 6c 2d 78 2d 69 | 6e 74 65 72 72 75 70 74 |trol-x-i|nterrupt|
|000022a0| 5d 09 61 62 6f 72 74 73 | 20 65 76 61 6c 75 61 74 |].aborts| evaluat|
|000022b0| 69 6f 6e 2c 20 64 6f 65 | 73 6e 27 74 20 61 66 66 |ion, doe|sn't aff|
|000022c0| 65 63 74 20 73 74 61 63 | 6b 0a 0a 53 6f 6d 65 20 |ect stac|k..Some |
|000022d0| 70 6f 73 73 69 62 6c 65 | 20 63 6f 6d 6d 61 6e 64 |possible| command|
|000022e0| 20 69 6e 74 65 72 70 72 | 65 74 65 72 20 74 79 70 | interpr|eter typ|
|000022f0| 65 73 20 61 6e 64 20 74 | 68 65 69 72 20 6d 65 61 |es and t|heir mea|
|00002300| 6e 69 6e 67 73 20 61 72 | 65 3a 0a 0a 5b 45 76 61 |nings ar|e:..[Eva|
|00002310| 6c 75 61 74 6f 72 5d 09 | 72 65 61 64 2d 65 76 61 |luator].|read-eva|
|00002320| 6c 2d 70 72 69 6e 74 20 | 6c 6f 6f 70 20 66 6f 72 |l-print |loop for|
|00002330| 20 65 76 61 6c 75 61 74 | 69 6e 67 20 65 78 70 72 | evaluat|ing expr|
|00002340| 65 73 73 69 6f 6e 73 0a | 5b 44 65 62 75 67 67 65 |essions.|[Debugge|
|00002350| 72 5d 09 73 69 6e 67 6c | 65 20 63 68 61 72 61 63 |r].singl|e charac|
|00002360| 74 65 72 20 63 6f 6d 6d | 61 6e 64 73 20 66 6f 72 |ter comm|ands for|
|00002370| 20 64 65 62 75 67 67 69 | 6e 67 20 65 72 72 6f 72 | debuggi|ng error|
|00002380| 73 0a 5b 57 68 65 72 65 | 5d 09 09 73 69 6e 67 6c |s.[Where|]..singl|
|00002390| 65 20 63 68 61 72 61 63 | 74 65 72 20 63 6f 6d 6d |e charac|ter comm|
|000023a0| 61 6e 64 73 20 66 6f 72 | 20 65 78 61 6d 69 6e 69 |ands for| examini|
|000023b0| 6e 67 20 65 6e 76 69 72 | 6f 6e 6d 65 6e 74 73 0a |ng envir|onments.|
|000023c0| 0a 53 74 61 72 74 69 6e | 67 20 77 69 74 68 20 72 |.Startin|g with r|
|000023d0| 65 6c 65 61 73 65 20 36 | 2e 32 20 6f 66 20 53 63 |elease 6|.2 of Sc|
|000023e0| 68 65 6d 65 2c 20 74 68 | 65 20 6c 61 74 74 65 72 |heme, th|e latter|
|000023f0| 20 74 77 6f 20 74 79 70 | 65 73 20 6f 66 20 63 6f | two typ|es of co|
|00002400| 6d 6d 61 6e 64 0a 69 6e | 74 65 72 70 72 65 74 65 |mmand.in|terprete|
|00002410| 72 73 20 77 69 6c 6c 20 | 63 68 61 6e 67 65 20 74 |rs will |change t|
|00002420| 68 65 20 6d 61 6a 6f 72 | 20 6d 6f 64 65 20 6f 66 |he major| mode of|
|00002430| 20 74 68 65 20 53 63 68 | 65 6d 65 20 70 72 6f 63 | the Sch|eme proc|
|00002440| 65 73 73 20 62 75 66 66 | 65 72 0a 74 6f 20 73 63 |ess buff|er.to sc|
|00002450| 68 65 6d 65 2d 64 65 62 | 75 67 67 65 72 2d 6d 6f |heme-deb|ugger-mo|
|00002460| 64 65 20 2c 20 69 6e 20 | 77 68 69 63 68 20 74 68 |de , in |which th|
|00002470| 65 20 65 76 61 6c 75 61 | 74 69 6f 6e 20 63 6f 6d |e evalua|tion com|
|00002480| 6d 61 6e 64 73 20 61 72 | 65 0a 64 69 73 61 62 6c |mands ar|e.disabl|
|00002490| 65 64 2c 20 61 6e 64 20 | 74 68 65 20 6b 65 79 73 |ed, and |the keys|
|000024a0| 20 77 68 69 63 68 20 6e | 6f 72 6d 61 6c 6c 79 20 | which n|ormally |
|000024b0| 73 65 6c 66 20 69 6e 73 | 65 72 74 20 69 6e 73 74 |self ins|ert inst|
|000024c0| 65 61 64 20 73 65 6e 64 | 0a 74 68 65 6d 73 65 6c |ead send|.themsel|
|000024d0| 76 65 73 20 74 6f 20 74 | 68 65 20 53 63 68 65 6d |ves to t|he Schem|
|000024e0| 65 20 70 72 6f 63 65 73 | 73 2e 20 20 54 68 65 20 |e proces|s. The |
|000024f0| 63 6f 6d 6d 61 6e 64 20 | 63 68 61 72 61 63 74 65 |command |characte|
|00002500| 72 20 3f 20 77 69 6c 6c | 20 6c 69 73 74 0a 74 68 |r ? will| list.th|
|00002510| 65 20 61 76 61 69 6c 61 | 62 6c 65 20 63 6f 6d 6d |e availa|ble comm|
|00002520| 61 6e 64 73 2e 0a 0a 46 | 6f 72 20 6f 6c 64 65 72 |ands...F|or older|
|00002530| 20 72 65 6c 65 61 73 65 | 73 20 6f 66 20 53 63 68 | release|s of Sch|
|00002540| 65 6d 65 2c 20 74 68 65 | 20 6d 61 6a 6f 72 20 6d |eme, the| major m|
|00002550| 6f 64 65 20 77 69 6c 6c | 20 62 65 20 62 65 0a 73 |ode will| be be.s|
|00002560| 63 68 65 6d 65 2d 69 6e | 74 65 72 61 63 74 69 6f |cheme-in|teractio|
|00002570| 6e 2d 6d 6f 64 65 20 2c | 20 61 6e 64 20 74 68 65 |n-mode ,| and the|
|00002580| 20 63 6f 6d 6d 61 6e 64 | 20 63 68 61 72 61 63 74 | command| charact|
|00002590| 65 72 73 20 6d 75 73 74 | 20 62 65 20 73 65 6e 74 |ers must| be sent|
|000025a0| 20 61 73 0a 69 66 20 74 | 68 65 79 20 77 65 72 65 | as.if t|hey were|
|000025b0| 20 65 78 70 72 65 73 73 | 69 6f 6e 73 2e 0a 0a 43 | express|ions...C|
|000025c0| 6f 6d 6d 61 6e 64 73 3a | 0a 44 65 6c 65 74 65 20 |ommands:|.Delete |
|000025d0| 63 6f 6e 76 65 72 74 73 | 20 74 61 62 73 20 74 6f |converts| tabs to|
|000025e0| 20 73 70 61 63 65 73 20 | 61 73 20 69 74 20 6d 6f | spaces |as it mo|
|000025f0| 76 65 73 20 62 61 63 6b | 2e 0a 42 6c 61 6e 6b 20 |ves back|..Blank |
|00002600| 6c 69 6e 65 73 20 73 65 | 70 61 72 61 74 65 20 70 |lines se|parate p|
|00002610| 61 72 61 67 72 61 70 68 | 73 2e 20 20 53 65 6d 69 |aragraph|s. Semi|
|00002620| 63 6f 6c 6f 6e 73 20 73 | 74 61 72 74 20 63 6f 6d |colons s|tart com|
|00002630| 6d 65 6e 74 73 2e 0a 5c | 5c 7b 73 63 68 65 6d 65 |ments..\|\{scheme|
|00002640| 2d 69 6e 74 65 72 61 63 | 74 69 6f 6e 2d 6d 6f 64 |-interac|tion-mod|
|00002650| 65 2d 6d 61 70 7d 0a 0a | 45 6e 74 72 79 20 74 6f |e-map}..|Entry to|
|00002660| 20 74 68 69 73 20 6d 6f | 64 65 20 63 61 6c 6c 73 | this mo|de calls|
|00002670| 20 74 68 65 20 76 61 6c | 75 65 20 6f 66 20 73 63 | the val|ue of sc|
|00002680| 68 65 6d 65 2d 69 6e 74 | 65 72 61 63 74 69 6f 6e |heme-int|eraction|
|00002690| 2d 6d 6f 64 65 2d 68 6f | 6f 6b 0a 77 69 74 68 20 |-mode-ho|ok.with |
|000026a0| 6e 6f 20 61 72 67 73 2c | 20 69 66 20 74 68 61 74 |no args,| if that|
|000026b0| 20 76 61 6c 75 65 20 69 | 73 20 6e 6f 6e 2d 6e 69 | value i|s non-ni|
|000026c0| 6c 2e 0a 20 4c 69 6b 65 | 77 69 73 65 20 77 69 74 |l.. Like|wise wit|
|000026d0| 68 20 74 68 65 20 76 61 | 6c 75 65 20 6f 66 20 73 |h the va|lue of s|
|000026e0| 63 68 65 6d 65 2d 6d 6f | 64 65 2d 68 6f 6f 6b 2e |cheme-mo|de-hook.|
|000026f0| 0a 20 73 63 68 65 6d 65 | 2d 69 6e 74 65 72 61 63 |. scheme|-interac|
|00002700| 74 69 6f 6e 2d 6d 6f 64 | 65 2d 68 6f 6f 6b 20 69 |tion-mod|e-hook i|
|00002710| 73 20 63 61 6c 6c 65 64 | 20 61 66 74 65 72 20 73 |s called| after s|
|00002720| 63 68 65 6d 65 2d 6d 6f | 64 65 2d 68 6f 6f 6b 2e |cheme-mo|de-hook.|
|00002730| 22 20 22 50 22 5d 29 0a | 28 66 73 65 74 20 27 65 |" "P"]).|(fset 'e|
|00002740| 78 69 74 2d 73 63 68 65 | 6d 65 2d 69 6e 74 65 72 |xit-sche|me-inter|
|00002750| 61 63 74 69 6f 6e 2d 6d | 6f 64 65 20 23 5b 6e 69 |action-m|ode #[ni|
|00002760| 6c 20 22 08 c1 3d ac 84 | c2 c3 21 88 0c 1d 0e 06 |l "..=..|..!.....|
|00002770| 20 88 c7 70 21 89 1e 08 | ad 9d c9 0e 08 21 ca 3d | ..p!...|.....!.=|
|00002780| ab 87 cb 0e 08 0d 40 5c | 22 88 cc 0e 08 21 cd 3d |......@\|"....!.=|
|00002790| ad 86 ce 0e 08 0d 41 5c | 22 2a 87 22 20 5b 6d 61 |......A\|"*." [ma|
|000027a0| 6a 6f 72 2d 6d 6f 64 65 | 20 73 63 68 65 6d 65 2d |jor-mode| scheme-|
|000027b0| 69 6e 74 65 72 61 63 74 | 69 6f 6e 2d 6d 6f 64 65 |interact|ion-mode|
|000027c0| 20 65 72 72 6f 72 20 22 | 42 75 66 66 65 72 20 6e | error "|Buffer n|
|000027d0| 6f 74 20 69 6e 20 73 63 | 68 65 6d 65 20 69 6e 74 |ot in sc|heme int|
|000027e0| 65 72 61 63 74 69 6f 6e | 20 6d 6f 64 65 22 20 78 |eraction| mode" x|
|000027f0| 73 63 68 65 6d 65 2d 70 | 72 65 76 69 6f 75 73 2d |scheme-p|revious-|
|00002800| 70 72 6f 63 65 73 73 2d | 73 74 61 74 65 20 70 72 |process-|state pr|
|00002810| 65 76 69 6f 75 73 2d 73 | 74 61 74 65 20 78 73 63 |evious-s|tate xsc|
|00002820| 68 65 6d 65 2d 70 72 65 | 76 69 6f 75 73 2d 6d 6f |heme-pre|vious-mo|
|00002830| 64 65 20 67 65 74 2d 62 | 75 66 66 65 72 2d 70 72 |de get-b|uffer-pr|
|00002840| 6f 63 65 73 73 20 70 72 | 6f 63 65 73 73 20 70 72 |ocess pr|ocess pr|
|00002850| 6f 63 65 73 73 2d 66 69 | 6c 74 65 72 20 78 73 63 |ocess-fi|lter xsc|
|00002860| 68 65 6d 65 2d 70 72 6f | 63 65 73 73 2d 66 69 6c |heme-pro|cess-fil|
|00002870| 74 65 72 20 73 65 74 2d | 70 72 6f 63 65 73 73 2d |ter set-|process-|
|00002880| 66 69 6c 74 65 72 20 70 | 72 6f 63 65 73 73 2d 73 |filter p|rocess-s|
|00002890| 65 6e 74 69 6e 65 6c 20 | 78 73 63 68 65 6d 65 2d |entinel |xscheme-|
|000028a0| 70 72 6f 63 65 73 73 2d | 73 65 6e 74 69 6e 65 6c |process-|sentinel|
|000028b0| 20 73 65 74 2d 70 72 6f | 63 65 73 73 2d 73 65 6e | set-pro|cess-sen|
|000028c0| 74 69 6e 65 6c 5d 20 34 | 20 22 5c 0a 54 61 6b 65 |tinel] 4| "\.Take|
|000028d0| 20 62 75 66 66 65 72 20 | 6f 75 74 20 6f 66 20 73 | buffer |out of s|
|000028e0| 63 68 65 6d 65 20 69 6e | 74 65 72 61 63 74 69 6f |cheme in|teractio|
|000028f0| 6e 20 6d 6f 64 65 22 20 | 6e 69 6c 5d 29 0a 28 62 |n mode" |nil]).(b|
|00002900| 79 74 65 2d 63 6f 64 65 | 20 22 c0 c1 4d 88 c2 c3 |yte-code| "..M...|
|00002910| 4d 88 c4 c5 21 ac 82 c6 | 15 0d ac 93 c7 20 15 c8 |M...!...|..... ..|
|00002920| 0d 21 88 c9 0d 21 88 ca | 0d 21 88 c2 0d 21 88 cb |.!...!..|.!...!..|
|00002930| cc 4d 88 cd ce 4d 87 22 | 20 5b 73 63 68 65 6d 65 |.M...M."| [scheme|
|00002940| 2d 69 6e 74 65 72 61 63 | 74 69 6f 6e 2d 6d 6f 64 |-interac|tion-mod|
|00002950| 65 2d 69 6e 69 74 69 61 | 6c 69 7a 65 20 23 5b 6e |e-initia|lize #[n|
|00002960| 69 6c 20 22 c0 09 21 88 | c2 13 c4 89 15 87 22 20 |il "..!.|......" |
|00002970| 5b 75 73 65 2d 6c 6f 63 | 61 6c 2d 6d 61 70 20 73 |[use-loc|al-map s|
|00002980| 63 68 65 6d 65 2d 69 6e | 74 65 72 61 63 74 69 6f |cheme-in|teractio|
|00002990| 6e 2d 6d 6f 64 65 2d 6d | 61 70 20 73 63 68 65 6d |n-mode-m|ap schem|
|000029a0| 65 2d 69 6e 74 65 72 61 | 63 74 69 6f 6e 2d 6d 6f |e-intera|ction-mo|
|000029b0| 64 65 20 6d 61 6a 6f 72 | 2d 6d 6f 64 65 20 22 53 |de major|-mode "S|
|000029c0| 63 68 65 6d 65 20 49 6e | 74 65 72 61 63 74 69 6f |cheme In|teractio|
|000029d0| 6e 22 20 6d 6f 64 65 2d | 6e 61 6d 65 5d 20 32 5d |n" mode-|name] 2]|
|000029e0| 20 73 63 68 65 6d 65 2d | 69 6e 74 65 72 61 63 74 | scheme-|interact|
|000029f0| 69 6f 6e 2d 6d 6f 64 65 | 2d 63 6f 6d 6d 61 6e 64 |ion-mode|-command|
|00002a00| 73 20 23 5b 28 6b 65 79 | 6d 61 70 29 20 22 c0 09 |s #[(key|map) "..|
|00002a10| c2 c3 23 88 c0 09 c4 c5 | 23 88 c0 09 c6 c7 23 88 |..#.....|#.....#.|
|00002a20| c0 09 c8 c9 23 88 c0 09 | ca cb 23 87 22 20 5b 64 |....#...|..#." [d|
|00002a30| 65 66 69 6e 65 2d 6b 65 | 79 20 6b 65 79 6d 61 70 |efine-ke|y keymap|
|00002a40| 20 22 03 0d 22 20 78 73 | 63 68 65 6d 65 2d 73 65 | ".." xs|cheme-se|
|00002a50| 6e 64 2d 63 75 72 72 65 | 6e 74 2d 6c 69 6e 65 20 |nd-curre|nt-line |
|00002a60| 22 03 10 22 20 78 73 63 | 68 65 6d 65 2d 73 65 6e |".." xsc|heme-sen|
|00002a70| 64 2d 70 72 6f 63 65 65 | 64 20 22 03 19 22 20 78 |d-procee|d ".." x|
|00002a80| 73 63 68 65 6d 65 2d 79 | 61 6e 6b 20 22 1b 70 22 |scheme-y|ank ".p"|
|00002a90| 20 78 73 63 68 65 6d 65 | 2d 79 61 6e 6b 2d 70 6f | xscheme|-yank-po|
|00002aa0| 70 20 22 1b 6e 22 20 78 | 73 63 68 65 6d 65 2d 79 |p ".n" x|scheme-y|
|00002ab0| 61 6e 6b 2d 70 75 73 68 | 5d 20 34 5d 20 62 6f 75 |ank-push|] 4] bou|
|00002ac0| 6e 64 70 20 73 63 68 65 | 6d 65 2d 69 6e 74 65 72 |ndp sche|me-inter|
|00002ad0| 61 63 74 69 6f 6e 2d 6d | 6f 64 65 2d 6d 61 70 20 |action-m|ode-map |
|00002ae0| 6e 69 6c 20 6d 61 6b 65 | 2d 6b 65 79 6d 61 70 20 |nil make|-keymap |
|00002af0| 73 63 68 65 6d 65 2d 6d | 6f 64 65 2d 63 6f 6d 6d |scheme-m|ode-comm|
|00002b00| 61 6e 64 73 20 78 73 63 | 68 65 6d 65 2d 69 6e 74 |ands xsc|heme-int|
|00002b10| 65 72 72 75 70 74 2d 63 | 6f 6d 6d 61 6e 64 73 20 |errupt-c|ommands |
|00002b20| 78 73 63 68 65 6d 65 2d | 65 76 61 6c 75 61 74 69 |xscheme-|evaluati|
|00002b30| 6f 6e 2d 63 6f 6d 6d 61 | 6e 64 73 20 78 73 63 68 |on-comma|nds xsch|
|00002b40| 65 6d 65 2d 65 6e 74 65 | 72 2d 69 6e 74 65 72 61 |eme-ente|r-intera|
|00002b50| 63 74 69 6f 6e 2d 6d 6f | 64 65 20 23 5b 6e 69 6c |ction-mo|de #[nil|
|00002b60| 20 22 8a c0 20 71 88 09 | c2 3d 3f ad 8c 09 c3 3d | ".. q..|.=?....=|
|00002b70| ab 84 c4 20 aa 83 c2 c5 | 21 29 87 22 20 5b 78 73 |... ....|!)." [xs|
|00002b80| 63 68 65 6d 65 2d 70 72 | 6f 63 65 73 73 2d 62 75 |cheme-pr|ocess-bu|
|00002b90| 66 66 65 72 20 6d 61 6a | 6f 72 2d 6d 6f 64 65 20 |ffer maj|or-mode |
|00002ba0| 73 63 68 65 6d 65 2d 69 | 6e 74 65 72 61 63 74 69 |scheme-i|nteracti|
|00002bb0| 6f 6e 2d 6d 6f 64 65 20 | 73 63 68 65 6d 65 2d 64 |on-mode |scheme-d|
|00002bc0| 65 62 75 67 67 65 72 2d | 6d 6f 64 65 20 73 63 68 |ebugger-|mode sch|
|00002bd0| 65 6d 65 2d 69 6e 74 65 | 72 61 63 74 69 6f 6e 2d |eme-inte|raction-|
|00002be0| 6d 6f 64 65 2d 69 6e 69 | 74 69 61 6c 69 7a 65 20 |mode-ini|tialize |
|00002bf0| 74 5d 20 32 5d 20 61 64 | 76 65 72 74 69 73 65 64 |t] 2] ad|vertised|
|00002c00| 2d 78 73 63 68 65 6d 65 | 2d 73 65 6e 64 2d 70 72 |-xscheme|-send-pr|
|00002c10| 65 76 69 6f 75 73 2d 65 | 78 70 72 65 73 73 69 6f |evious-e|xpressio|
|00002c20| 6e 20 78 73 63 68 65 6d | 65 2d 73 65 6e 64 2d 70 |n xschem|e-send-p|
|00002c30| 72 65 76 69 6f 75 73 2d | 65 78 70 72 65 73 73 69 |revious-|expressi|
|00002c40| 6f 6e 5d 20 32 29 0a 28 | 66 73 65 74 20 27 73 63 |on] 2).(|fset 'sc|
|00002c50| 68 65 6d 65 2d 64 65 62 | 75 67 67 65 72 2d 6d 6f |heme-deb|ugger-mo|
|00002c60| 64 65 20 23 5b 6e 69 6c | 20 22 c0 c1 21 87 22 20 |de #[nil| "..!." |
|00002c70| 5b 65 72 72 6f 72 20 22 | 49 6c 6c 65 67 61 6c 20 |[error "|Illegal |
|00002c80| 65 6e 74 72 79 20 74 6f | 20 73 63 68 65 6d 65 2d |entry to| scheme-|
|00002c90| 64 65 62 75 67 67 65 72 | 2d 6d 6f 64 65 22 5d 20 |debugger|-mode"] |
|00002ca0| 32 20 22 5c 0a 4d 61 6a | 6f 72 20 6d 6f 64 65 20 |2 "\.Maj|or mode |
|00002cb0| 66 6f 72 20 65 78 65 63 | 75 74 69 6e 67 20 74 68 |for exec|uting th|
|00002cc0| 65 20 53 63 68 65 6d 65 | 20 64 65 62 75 67 67 65 |e Scheme| debugge|
|00002cd0| 72 2e 0a 4c 69 6b 65 20 | 20 73 63 68 65 6d 65 2d |r..Like | scheme-|
|00002ce0| 6d 6f 64 65 20 20 65 78 | 63 65 70 74 20 74 68 61 |mode ex|cept tha|
|00002cf0| 74 20 74 68 65 20 65 76 | 61 6c 75 61 74 69 6f 6e |t the ev|aluation|
|00002d00| 20 63 6f 6d 6d 61 6e 64 | 73 0a 61 72 65 20 64 69 | command|s.are di|
|00002d10| 73 61 62 6c 65 64 2c 20 | 61 6e 64 20 63 68 61 72 |sabled, |and char|
|00002d20| 61 63 74 65 72 73 20 74 | 68 61 74 20 77 6f 75 6c |acters t|hat woul|
|00002d30| 64 20 6e 6f 72 6d 61 6c | 6c 79 20 62 65 20 73 65 |d normal|ly be se|
|00002d40| 6c 66 20 69 6e 73 65 72 | 74 69 6e 67 20 61 72 65 |lf inser|ting are|
|00002d50| 0a 73 65 6e 74 20 74 6f | 20 74 68 65 20 53 63 68 |.sent to| the Sch|
|00002d60| 65 6d 65 20 70 72 6f 63 | 65 73 73 20 69 6e 73 74 |eme proc|ess inst|
|00002d70| 65 61 64 2e 20 20 54 79 | 70 69 6e 67 20 3f 20 20 |ead. Ty|ping ? |
|00002d80| 77 69 6c 6c 20 73 68 6f | 77 20 79 6f 75 20 77 68 |will sho|w you wh|
|00002d90| 69 63 68 0a 63 68 61 72 | 61 63 74 65 72 73 20 70 |ich.char|acters p|
|00002da0| 65 72 66 6f 72 6d 20 75 | 73 65 66 75 6c 20 66 75 |erform u|seful fu|
|00002db0| 6e 63 74 69 6f 6e 73 2e | 0a 0a 43 6f 6d 6d 61 6e |nctions.|..Comman|
|00002dc0| 64 73 3a 0a 5c 5c 7b 73 | 63 68 65 6d 65 2d 64 65 |ds:.\\{s|cheme-de|
|00002dd0| 62 75 67 67 65 72 2d 6d | 6f 64 65 2d 6d 61 70 7d |bugger-m|ode-map}|
|00002de0| 22 5d 29 0a 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |"]).(byt|e-code "|
|00002df0| c0 c1 4d 88 c2 c3 4d 88 | c4 c5 21 ac 82 c6 15 0d |..M...M.|..!.....|
|00002e00| ac 8f c7 20 15 c8 0d 21 | 88 c9 0d 21 88 c2 0d 21 |... ...!|...!...!|
|00002e10| 88 c6 87 22 20 5b 73 63 | 68 65 6d 65 2d 64 65 62 |..." [sc|heme-deb|
|00002e20| 75 67 67 65 72 2d 6d 6f | 64 65 2d 69 6e 69 74 69 |ugger-mo|de-initi|
|00002e30| 61 6c 69 7a 65 20 23 5b | 6e 69 6c 20 22 c0 09 21 |alize #[|nil "..!|
|00002e40| 88 c2 13 c4 89 15 87 22 | 20 5b 75 73 65 2d 6c 6f |......."| [use-lo|
|00002e50| 63 61 6c 2d 6d 61 70 20 | 73 63 68 65 6d 65 2d 64 |cal-map |scheme-d|
|00002e60| 65 62 75 67 67 65 72 2d | 6d 6f 64 65 2d 6d 61 70 |ebugger-|mode-map|
|00002e70| 20 73 63 68 65 6d 65 2d | 64 65 62 75 67 67 65 72 | scheme-|debugger|
|00002e80| 2d 6d 6f 64 65 20 6d 61 | 6a 6f 72 2d 6d 6f 64 65 |-mode ma|jor-mode|
|00002e90| 20 22 53 63 68 65 6d 65 | 20 44 65 62 75 67 67 65 | "Scheme| Debugge|
|00002ea0| 72 22 20 6d 6f 64 65 2d | 6e 61 6d 65 5d 20 32 5d |r" mode-|name] 2]|
|00002eb0| 20 73 63 68 65 6d 65 2d | 64 65 62 75 67 67 65 72 | scheme-|debugger|
|00002ec0| 2d 6d 6f 64 65 2d 63 6f | 6d 6d 61 6e 64 73 20 23 |-mode-co|mmands #|
|00002ed0| 5b 28 6b 65 79 6d 61 70 | 29 20 22 c0 19 c0 c2 57 |[(keymap|) "....W|
|00002ee0| ad 8e c3 0c c5 09 21 c6 | 23 88 09 54 89 11 aa 6e |......!.|#..T...n|
|00002ef0| 29 87 22 20 5b 33 32 20 | 63 68 61 72 20 31 32 37 |)." [32 |char 127|
|00002f00| 20 64 65 66 69 6e 65 2d | 6b 65 79 20 6b 65 79 6d | define-|key keym|
|00002f10| 61 70 20 63 68 61 72 2d | 74 6f 2d 73 74 72 69 6e |ap char-|to-strin|
|00002f20| 67 20 73 63 68 65 6d 65 | 2d 64 65 62 75 67 67 65 |g scheme|-debugge|
|00002f30| 72 2d 73 65 6c 66 2d 69 | 6e 73 65 72 74 5d 20 35 |r-self-i|nsert] 5|
|00002f40| 5d 20 62 6f 75 6e 64 70 | 20 73 63 68 65 6d 65 2d |] boundp| scheme-|
|00002f50| 64 65 62 75 67 67 65 72 | 2d 6d 6f 64 65 2d 6d 61 |debugger|-mode-ma|
|00002f60| 70 20 6e 69 6c 20 6d 61 | 6b 65 2d 6b 65 79 6d 61 |p nil ma|ke-keyma|
|00002f70| 70 20 73 63 68 65 6d 65 | 2d 6d 6f 64 65 2d 63 6f |p scheme|-mode-co|
|00002f80| 6d 6d 61 6e 64 73 20 78 | 73 63 68 65 6d 65 2d 69 |mmands x|scheme-i|
|00002f90| 6e 74 65 72 72 75 70 74 | 2d 63 6f 6d 6d 61 6e 64 |nterrupt|-command|
|00002fa0| 73 5d 20 32 29 0a 28 66 | 73 65 74 20 27 73 63 68 |s] 2).(f|set 'sch|
|00002fb0| 65 6d 65 2d 64 65 62 75 | 67 67 65 72 2d 73 65 6c |eme-debu|gger-sel|
|00002fc0| 66 2d 69 6e 73 65 72 74 | 20 23 5b 6e 69 6c 20 22 |f-insert| #[nil "|
|00002fd0| c0 09 21 87 22 20 5b 78 | 73 63 68 65 6d 65 2d 73 |..!." [x|scheme-s|
|00002fe0| 65 6e 64 2d 63 68 61 72 | 20 6c 61 73 74 2d 63 6f |end-char| last-co|
|00002ff0| 6d 6d 61 6e 64 2d 63 68 | 61 72 5d 20 32 20 22 5c |mmand-ch|ar] 2 "\|
|00003000| 0a 54 72 61 6e 73 6d 69 | 74 20 74 68 69 73 20 63 |.Transmi|t this c|
|00003010| 68 61 72 61 63 74 65 72 | 20 74 6f 20 74 68 65 20 |haracter| to the |
|00003020| 53 63 68 65 6d 65 20 70 | 72 6f 63 65 73 73 2e 22 |Scheme p|rocess."|
|00003030| 20 6e 69 6c 5d 29 0a 28 | 62 79 74 65 2d 63 6f 64 | nil]).(|byte-cod|
|00003040| 65 20 22 c0 c1 4d 88 c2 | c3 4d 87 22 20 5b 78 73 |e "..M..|.M." [xs|
|00003050| 63 68 65 6d 65 2d 65 6e | 74 65 72 2d 64 65 62 75 |cheme-en|ter-debu|
|00003060| 67 67 65 72 2d 6d 6f 64 | 65 20 23 5b 28 70 72 6f |gger-mod|e #[(pro|
|00003070| 6d 70 74 2d 73 74 72 69 | 6e 67 29 20 22 8a c0 20 |mpt-stri|ng) ".. |
|00003080| 71 88 09 c2 3d 3f ad 8b | 09 c3 3d ac 84 c3 c4 21 |q...=?..|..=....!|
|00003090| 88 c5 20 29 87 22 20 5b | 78 73 63 68 65 6d 65 2d |.. )." [|xscheme-|
|000030a0| 70 72 6f 63 65 73 73 2d | 62 75 66 66 65 72 20 6d |process-|buffer m|
|000030b0| 61 6a 6f 72 2d 6d 6f 64 | 65 20 73 63 68 65 6d 65 |ajor-mod|e scheme|
|000030c0| 2d 64 65 62 75 67 67 65 | 72 2d 6d 6f 64 65 20 73 |-debugge|r-mode s|
|000030d0| 63 68 65 6d 65 2d 69 6e | 74 65 72 61 63 74 69 6f |cheme-in|teractio|
|000030e0| 6e 2d 6d 6f 64 65 20 74 | 20 73 63 68 65 6d 65 2d |n-mode t| scheme-|
|000030f0| 64 65 62 75 67 67 65 72 | 2d 6d 6f 64 65 2d 69 6e |debugger|-mode-in|
|00003100| 69 74 69 61 6c 69 7a 65 | 5d 20 32 5d 20 78 73 63 |itialize|] 2] xsc|
|00003110| 68 65 6d 65 2d 64 65 62 | 75 67 67 65 72 2d 6d 6f |heme-deb|ugger-mo|
|00003120| 64 65 2d 70 20 23 5b 6e | 69 6c 20 22 c0 20 89 19 |de-p #[n|il ". ..|
|00003130| ad 88 8a 09 71 88 5c 6e | 29 c3 3d 29 87 22 20 5b |....q.\n|).=)." [|
|00003140| 78 73 63 68 65 6d 65 2d | 70 72 6f 63 65 73 73 2d |xscheme-|process-|
|00003150| 62 75 66 66 65 72 20 62 | 75 66 66 65 72 20 6d 61 |buffer b|uffer ma|
|00003160| 6a 6f 72 2d 6d 6f 64 65 | 20 73 63 68 65 6d 65 2d |jor-mode| scheme-|
|00003170| 64 65 62 75 67 67 65 72 | 2d 6d 6f 64 65 5d 20 33 |debugger|-mode] 3|
|00003180| 5d 5d 20 32 29 0a 28 66 | 73 65 74 20 27 78 73 63 |]] 2).(f|set 'xsc|
|00003190| 68 65 6d 65 2d 73 65 6e | 64 2d 73 74 72 69 6e 67 |heme-sen|d-string|
|000031a0| 20 23 5b 28 26 72 65 73 | 74 20 73 74 72 69 6e 67 | #[(&res|t string|
|000031b0| 73 29 20 22 c0 20 ac 90 | c1 c2 21 ad a3 c3 20 88 |s) ". ..|..!... .|
|000031c0| c4 20 88 c5 0e 06 21 87 | c7 20 ab 84 c8 c9 21 87 |. ....!.|. ....!.|
|000031d0| 0e 5c 6e ac 88 0e 0b ab | 84 c8 cc 21 87 c5 0e 06 |.\n.....|...!....|
|000031e0| 21 87 22 20 5b 78 73 63 | 68 65 6d 65 2d 70 72 6f |!." [xsc|heme-pro|
|000031f0| 63 65 73 73 2d 72 75 6e | 6e 69 6e 67 2d 70 20 79 |cess-run|ning-p y|
|00003200| 65 73 2d 6f 72 2d 6e 6f | 2d 70 20 22 54 68 65 20 |es-or-no|-p "The |
|00003210| 53 63 68 65 6d 65 20 70 | 72 6f 63 65 73 73 20 68 |Scheme p|rocess h|
|00003220| 61 73 20 64 69 65 64 2e | 20 20 52 65 73 65 74 20 |as died.| Reset |
|00003230| 69 74 3f 20 22 20 72 65 | 73 65 74 2d 73 63 68 65 |it? " re|set-sche|
|00003240| 6d 65 20 78 73 63 68 65 | 6d 65 2d 77 61 69 74 2d |me xsche|me-wait-|
|00003250| 66 6f 72 2d 70 72 6f 63 | 65 73 73 20 78 73 63 68 |for-proc|ess xsch|
|00003260| 65 6d 65 2d 73 65 6e 64 | 2d 73 74 72 69 6e 67 2d |eme-send|-string-|
|00003270| 31 20 73 74 72 69 6e 67 | 73 20 78 73 63 68 65 6d |1 string|s xschem|
|00003280| 65 2d 64 65 62 75 67 67 | 65 72 2d 6d 6f 64 65 2d |e-debugg|er-mode-|
|00003290| 70 20 65 72 72 6f 72 20 | 22 4e 6f 20 73 65 6e 64 |p error |"No send|
|000032a0| 73 20 61 6c 6c 6f 77 65 | 64 20 69 6e 20 64 65 62 |s allowe|d in deb|
|000032b0| 75 67 67 65 72 20 6d 6f | 64 65 22 20 78 73 63 68 |ugger mo|de" xsch|
|000032c0| 65 6d 65 2d 61 6c 6c 6f | 77 2d 70 69 70 65 6c 69 |eme-allo|w-pipeli|
|000032d0| 6e 65 64 2d 65 76 61 6c | 75 61 74 69 6f 6e 20 78 |ned-eval|uation x|
|000032e0| 73 63 68 65 6d 65 2d 72 | 75 6e 6e 69 6e 67 2d 70 |scheme-r|unning-p|
|000032f0| 20 22 4e 6f 20 73 65 6e | 64 73 20 61 6c 6c 6f 77 | "No sen|ds allow|
|00003300| 65 64 20 77 68 69 6c 65 | 20 53 63 68 65 6d 65 20 |ed while| Scheme |
|00003310| 72 75 6e 6e 69 6e 67 22 | 5d 20 32 20 22 5c 0a 53 |running"|] 2 "\.S|
|00003320| 65 6e 64 20 74 68 65 20 | 73 74 72 69 6e 67 20 61 |end the |string a|
|00003330| 72 67 75 6d 65 6e 74 73 | 20 74 6f 20 74 68 65 20 |rguments| to the |
|00003340| 53 63 68 65 6d 65 20 70 | 72 6f 63 65 73 73 2e 0a |Scheme p|rocess..|
|00003350| 54 68 65 20 73 74 72 69 | 6e 67 73 20 61 72 65 20 |The stri|ngs are |
|00003360| 63 6f 6e 63 61 74 65 6e | 61 74 65 64 20 61 6e 64 |concaten|ated and|
|00003370| 20 74 65 72 6d 69 6e 61 | 74 65 64 20 62 79 20 61 | termina|ted by a|
|00003380| 20 6e 65 77 6c 69 6e 65 | 2e 22 5d 29 0a 28 62 79 | newline|."]).(by|
|00003390| 74 65 2d 63 6f 64 65 20 | 22 c0 c1 4d 88 c2 c3 4d |te-code |"..M...M|
|000033a0| 87 22 20 5b 78 73 63 68 | 65 6d 65 2d 73 65 6e 64 |." [xsch|eme-send|
|000033b0| 2d 73 74 72 69 6e 67 2d | 31 20 23 5b 28 73 74 72 |-string-|1 #[(str|
|000033c0| 69 6e 67 73 29 20 22 c0 | c1 5c 6e 5c 22 1b c4 0b |ings) ".|.\n\"...|
|000033d0| 21 88 0d c6 3d ad 83 c7 | 0b 21 29 87 22 20 5b 61 |!...=...|.!)." [a|
|000033e0| 70 70 6c 79 20 63 6f 6e | 63 61 74 20 73 74 72 69 |pply con|cat stri|
|000033f0| 6e 67 73 20 73 74 72 69 | 6e 67 20 78 73 63 68 65 |ngs stri|ng xsche|
|00003400| 6d 65 2d 73 65 6e 64 2d | 73 74 72 69 6e 67 2d 32 |me-send-|string-2|
|00003410| 20 6d 61 6a 6f 72 2d 6d | 6f 64 65 20 73 63 68 65 | major-m|ode sche|
|00003420| 6d 65 2d 69 6e 74 65 72 | 61 63 74 69 6f 6e 2d 6d |me-inter|action-m|
|00003430| 6f 64 65 20 78 73 63 68 | 65 6d 65 2d 69 6e 73 65 |ode xsch|eme-inse|
|00003440| 72 74 2d 65 78 70 72 65 | 73 73 69 6f 6e 5d 20 33 |rt-expre|ssion] 3|
|00003450| 5d 20 78 73 63 68 65 6d | 65 2d 73 65 6e 64 2d 73 |] xschem|e-send-s|
|00003460| 74 72 69 6e 67 2d 32 20 | 23 5b 28 73 74 72 69 6e |tring-2 |#[(strin|
|00003470| 67 29 20 22 c0 09 21 1a | c3 5c 6e 0c c5 50 5c 22 |g) "..!.|.\n..P\"|
|00003480| 88 c6 20 ad 86 c7 5c 6e | 21 60 c8 93 29 87 22 20 |.. ...\n|!`..)." |
|00003490| 5b 67 65 74 2d 70 72 6f | 63 65 73 73 20 78 73 63 |[get-pro|cess xsc|
|000034a0| 68 65 6d 65 2d 70 72 6f | 63 65 73 73 2d 6e 61 6d |heme-pro|cess-nam|
|000034b0| 65 20 70 72 6f 63 65 73 | 73 20 70 72 6f 63 65 73 |e proces|s proces|
|000034c0| 73 2d 73 65 6e 64 2d 73 | 74 72 69 6e 67 20 73 74 |s-send-s|tring st|
|000034d0| 72 69 6e 67 20 22 5c 6e | 22 20 78 73 63 68 65 6d |ring "\n|" xschem|
|000034e0| 65 2d 70 72 6f 63 65 73 | 73 2d 62 75 66 66 65 72 |e-proces|s-buffer|
|000034f0| 2d 63 75 72 72 65 6e 74 | 2d 70 20 70 72 6f 63 65 |-current|-p proce|
|00003500| 73 73 2d 6d 61 72 6b 20 | 6e 69 6c 5d 20 34 5d 5d |ss-mark |nil] 4]]|
|00003510| 20 32 29 0a 28 66 73 65 | 74 20 27 78 73 63 68 65 | 2).(fse|t 'xsche|
|00003520| 6d 65 2d 73 65 6c 65 63 | 74 2d 70 72 6f 63 65 73 |me-selec|t-proces|
|00003530| 73 2d 62 75 66 66 65 72 | 20 23 5b 6e 69 6c 20 22 |s-buffer| #[nil "|
|00003540| c0 09 21 ae 83 c2 c3 21 | 1c c5 0c 21 ae 83 c2 c6 |..!....!|...!....|
|00003550| 21 1e 07 c8 0e 07 21 89 | 1e 09 ab 87 ca 0e 09 21 |!.....!.|.......!|
|00003560| 88 aa 85 cb 0e 07 21 88 | cc 0c 21 62 2b 87 22 20 |......!.|..!b+." |
|00003570| 5b 67 65 74 2d 70 72 6f | 63 65 73 73 20 78 73 63 |[get-pro|cess xsc|
|00003580| 68 65 6d 65 2d 70 72 6f | 63 65 73 73 2d 6e 61 6d |heme-pro|cess-nam|
|00003590| 65 20 65 72 72 6f 72 20 | 22 4e 6f 20 73 63 68 65 |e error |"No sche|
|000035a0| 6d 65 20 70 72 6f 63 65 | 73 73 22 20 70 72 6f 63 |me proce|ss" proc|
|000035b0| 65 73 73 20 70 72 6f 63 | 65 73 73 2d 62 75 66 66 |ess proc|ess-buff|
|000035c0| 65 72 20 22 4e 6f 20 70 | 72 6f 63 65 73 73 20 62 |er "No p|rocess b|
|000035d0| 75 66 66 65 72 22 20 62 | 75 66 66 65 72 20 67 65 |uffer" b|uffer ge|
|000035e0| 74 2d 62 75 66 66 65 72 | 2d 77 69 6e 64 6f 77 20 |t-buffer|-window |
|000035f0| 77 69 6e 64 6f 77 20 73 | 65 6c 65 63 74 2d 77 69 |window s|elect-wi|
|00003600| 6e 64 6f 77 20 73 77 69 | 74 63 68 2d 74 6f 2d 62 |ndow swi|tch-to-b|
|00003610| 75 66 66 65 72 20 70 72 | 6f 63 65 73 73 2d 6d 61 |uffer pr|ocess-ma|
|00003620| 72 6b 5d 20 33 20 22 5c | 0a 53 65 6c 65 63 74 20 |rk] 3 "\|.Select |
|00003630| 74 68 65 20 53 63 68 65 | 6d 65 20 70 72 6f 63 65 |the Sche|me proce|
|00003640| 73 73 20 62 75 66 66 65 | 72 20 61 6e 64 20 6d 6f |ss buffe|r and mo|
|00003650| 76 65 20 74 6f 20 69 74 | 73 20 6f 75 74 70 75 74 |ve to it|s output|
|00003660| 20 70 6f 69 6e 74 2e 22 | 20 6e 69 6c 5d 29 0a 28 | point."| nil]).(|
|00003670| 66 73 65 74 20 27 78 73 | 63 68 65 6d 65 2d 69 6e |fset 'xs|cheme-in|
|00003680| 73 65 72 74 2d 65 78 70 | 72 65 73 73 69 6f 6e 20 |sert-exp|ression |
|00003690| 23 5b 28 73 74 72 69 6e | 67 29 20 22 08 09 42 89 |#[(strin|g) "..B.|
|000036a0| 11 47 5c 6e 56 ab 87 5c | 6e 53 09 9b c3 a1 88 09 |.G\nV..\|nS......|
|000036b0| 89 14 87 22 20 5b 73 74 | 72 69 6e 67 20 78 73 63 |..." [st|ring xsc|
|000036c0| 68 65 6d 65 2d 65 78 70 | 72 65 73 73 69 6f 6e 73 |heme-exp|ressions|
|000036d0| 2d 72 69 6e 67 20 78 73 | 63 68 65 6d 65 2d 65 78 |-ring xs|cheme-ex|
|000036e0| 70 72 65 73 73 69 6f 6e | 73 2d 72 69 6e 67 2d 6d |pression|s-ring-m|
|000036f0| 61 78 20 6e 69 6c 20 78 | 73 63 68 65 6d 65 2d 65 |ax nil x|scheme-e|
|00003700| 78 70 72 65 73 73 69 6f | 6e 73 2d 72 69 6e 67 2d |xpressio|ns-ring-|
|00003710| 79 61 6e 6b 2d 70 6f 69 | 6e 74 65 72 5d 20 33 5d |yank-poi|nter] 3]|
|00003720| 29 0a 28 66 73 65 74 20 | 27 78 73 63 68 65 6d 65 |).(fset |'xscheme|
|00003730| 2d 72 6f 74 61 74 65 2d | 79 61 6e 6b 2d 70 6f 69 |-rotate-|yank-poi|
|00003740| 6e 74 65 72 20 23 5b 28 | 61 72 67 29 20 22 08 47 |nter #[(|arg) ".G|
|00003750| 89 19 c2 55 ab 85 c3 c4 | 21 aa 9e 0d 09 0e 06 47 |...U....|!......G|
|00003760| 5a 5c 5c 09 a6 89 1e 07 | c2 57 ab 86 0e 07 09 5c |Z\\.....|.W.....\|
|00003770| 5c aa 82 0e 07 08 9b 29 | 89 16 06 29 87 22 20 5b |\......)|...)." [|
|00003780| 78 73 63 68 65 6d 65 2d | 65 78 70 72 65 73 73 69 |xscheme-|expressi|
|00003790| 6f 6e 73 2d 72 69 6e 67 | 20 6c 65 6e 67 74 68 20 |ons-ring| length |
|000037a0| 30 20 65 72 72 6f 72 20 | 22 53 63 68 65 6d 65 20 |0 error |"Scheme |
|000037b0| 65 78 70 72 65 73 73 69 | 6f 6e 20 72 69 6e 67 20 |expressi|on ring |
|000037c0| 69 73 20 65 6d 70 74 79 | 22 20 61 72 67 20 78 73 |is empty|" arg xs|
|000037d0| 63 68 65 6d 65 2d 65 78 | 70 72 65 73 73 69 6f 6e |cheme-ex|pression|
|000037e0| 73 2d 72 69 6e 67 2d 79 | 61 6e 6b 2d 70 6f 69 6e |s-ring-y|ank-poin|
|000037f0| 74 65 72 20 69 6e 64 65 | 78 5d 20 34 20 22 5c 0a |ter inde|x] 4 "\.|
|00003800| 52 6f 74 61 74 65 20 74 | 68 65 20 79 61 6e 6b 69 |Rotate t|he yanki|
|00003810| 6e 67 20 70 6f 69 6e 74 | 20 69 6e 20 74 68 65 20 |ng point| in the |
|00003820| 6b 69 6c 6c 20 72 69 6e | 67 2e 22 20 22 70 22 5d |kill rin|g." "p"]|
|00003830| 29 0a 28 66 73 65 74 20 | 27 78 73 63 68 65 6d 65 |).(fset |'xscheme|
|00003840| 2d 79 61 6e 6b 20 23 5b | 28 26 6f 70 74 69 6f 6e |-yank #[|(&option|
|00003850| 61 6c 20 61 72 67 29 20 | 22 c0 09 3c ab 83 c2 aa |al arg) |"..<....|
|00003860| 8a 09 c3 3d ab 83 c4 aa | 82 09 53 21 88 c5 60 21 |...=....|..S!..`!|
|00003870| 88 0e 06 40 63 88 09 3a | ad 82 c7 20 87 22 20 5b |...@c..:|... ." [|
|00003880| 78 73 63 68 65 6d 65 2d | 72 6f 74 61 74 65 2d 79 |xscheme-|rotate-y|
|00003890| 61 6e 6b 2d 70 6f 69 6e | 74 65 72 20 61 72 67 20 |ank-poin|ter arg |
|000038a0| 30 20 2d 20 2d 31 20 70 | 75 73 68 2d 6d 61 72 6b |0 - -1 p|ush-mark|
|000038b0| 20 78 73 63 68 65 6d 65 | 2d 65 78 70 72 65 73 73 | xscheme|-express|
|000038c0| 69 6f 6e 73 2d 72 69 6e | 67 2d 79 61 6e 6b 2d 70 |ions-rin|g-yank-p|
|000038d0| 6f 69 6e 74 65 72 20 65 | 78 63 68 61 6e 67 65 2d |ointer e|xchange-|
|000038e0| 70 6f 69 6e 74 2d 61 6e | 64 2d 6d 61 72 6b 5d 20 |point-an|d-mark] |
|000038f0| 33 20 22 5c 0a 49 6e 73 | 65 72 74 20 74 68 65 20 |3 "\.Ins|ert the |
|00003900| 6d 6f 73 74 20 72 65 63 | 65 6e 74 20 65 78 70 72 |most rec|ent expr|
|00003910| 65 73 73 69 6f 6e 20 61 | 74 20 70 6f 69 6e 74 2e |ession a|t point.|
|00003920| 0a 57 69 74 68 20 6a 75 | 73 74 20 43 2d 55 20 61 |.With ju|st C-U a|
|00003930| 73 20 61 72 67 75 6d 65 | 6e 74 2c 20 73 61 6d 65 |s argume|nt, same|
|00003940| 20 62 75 74 20 70 75 74 | 20 70 6f 69 6e 74 20 69 | but put| point i|
|00003950| 6e 20 66 72 6f 6e 74 20 | 28 61 6e 64 20 6d 61 72 |n front |(and mar|
|00003960| 6b 20 61 74 20 65 6e 64 | 29 2e 0a 57 69 74 68 20 |k at end|)..With |
|00003970| 61 72 67 75 6d 65 6e 74 | 20 6e 2c 20 72 65 69 6e |argument| n, rein|
|00003980| 73 65 72 74 20 74 68 65 | 20 6e 74 68 20 6d 6f 73 |sert the| nth mos|
|00003990| 74 20 72 65 63 65 6e 74 | 6c 79 20 73 65 6e 74 20 |t recent|ly sent |
|000039a0| 65 78 70 72 65 73 73 69 | 6f 6e 2e 0a 53 65 65 20 |expressi|on..See |
|000039b0| 61 6c 73 6f 20 74 68 65 | 20 63 6f 6d 6d 61 6e 64 |also the| command|
|000039c0| 73 20 5c 5c 5b 78 73 63 | 68 65 6d 65 2d 79 61 6e |s \\[xsc|heme-yan|
|000039d0| 6b 2d 70 6f 70 5d 20 61 | 6e 64 20 5c 5c 5b 78 73 |k-pop] a|nd \\[xs|
|000039e0| 63 68 65 6d 65 2d 79 61 | 6e 6b 2d 70 75 73 68 5d |cheme-ya|nk-push]|
|000039f0| 2e 22 20 22 2a 50 22 5d | 29 0a 28 66 73 65 74 20 |." "*P"]|).(fset |
|00003a00| 27 78 73 63 68 65 6d 65 | 2d 79 61 6e 6b 2d 70 72 |'xscheme|-yank-pr|
|00003a10| 65 76 69 6f 75 73 2d 73 | 65 6e 64 20 27 78 73 63 |evious-s|end 'xsc|
|00003a20| 68 65 6d 65 2d 79 61 6e | 6b 29 0a 28 66 73 65 74 |heme-yan|k).(fset|
|00003a30| 20 27 78 73 63 68 65 6d | 65 2d 79 61 6e 6b 2d 70 | 'xschem|e-yank-p|
|00003a40| 6f 70 20 23 5b 28 61 72 | 67 29 20 22 c0 11 5c 6e |op #[(ar|g) "..\n|
|00003a50| c0 3d ac 87 c0 20 88 0b | c4 5a 13 0b c5 55 3f ad |.=... ..|.Z...U?.|
|00003a60| a1 60 c6 c7 21 57 1e 08 | 60 c6 c7 21 7c 88 c9 0b |.`..!W..|`..!|...|
|00003a70| 21 88 ca 60 21 88 0e 0b | 40 63 88 0e 08 ad 82 cc |!..`!...|@c......|
|00003a80| 20 29 87 22 20 5b 78 73 | 63 68 65 6d 65 2d 79 61 | )." [xs|cheme-ya|
|00003a90| 6e 6b 20 74 68 69 73 2d | 63 6f 6d 6d 61 6e 64 20 |nk this-|command |
|00003aa0| 6c 61 73 74 2d 63 6f 6d | 6d 61 6e 64 20 61 72 67 |last-com|mand arg|
|00003ab0| 20 31 20 30 20 6d 61 72 | 6b 20 74 20 62 65 66 6f | 1 0 mar|k t befo|
|00003ac0| 72 65 20 78 73 63 68 65 | 6d 65 2d 72 6f 74 61 74 |re xsche|me-rotat|
|00003ad0| 65 2d 79 61 6e 6b 2d 70 | 6f 69 6e 74 65 72 20 73 |e-yank-p|ointer s|
|00003ae0| 65 74 2d 6d 61 72 6b 20 | 78 73 63 68 65 6d 65 2d |et-mark |xscheme-|
|00003af0| 65 78 70 72 65 73 73 69 | 6f 6e 73 2d 72 69 6e 67 |expressi|ons-ring|
|00003b00| 2d 79 61 6e 6b 2d 70 6f | 69 6e 74 65 72 20 65 78 |-yank-po|inter ex|
|00003b10| 63 68 61 6e 67 65 2d 70 | 6f 69 6e 74 2d 61 6e 64 |change-p|oint-and|
|00003b20| 2d 6d 61 72 6b 5d 20 33 | 20 22 5c 0a 49 6e 73 65 |-mark] 3| "\.Inse|
|00003b30| 72 74 20 6f 72 20 72 65 | 70 6c 61 63 65 20 61 20 |rt or re|place a |
|00003b40| 6a 75 73 74 2d 79 61 6e | 6b 65 64 20 65 78 70 72 |just-yan|ked expr|
|00003b50| 65 73 73 69 6f 6e 20 77 | 69 74 68 20 61 6e 20 6f |ession w|ith an o|
|00003b60| 6c 64 65 72 20 65 78 70 | 72 65 73 73 69 6f 6e 2e |lder exp|ression.|
|00003b70| 0a 49 66 20 74 68 65 20 | 70 72 65 76 69 6f 75 73 |.If the |previous|
|00003b80| 20 63 6f 6d 6d 61 6e 64 | 20 77 61 73 20 6e 6f 74 | command| was not|
|00003b90| 20 61 20 79 61 6e 6b 2c | 20 69 74 20 79 61 6e 6b | a yank,| it yank|
|00003ba0| 73 2e 0a 4f 74 68 65 72 | 77 69 73 65 2c 20 74 68 |s..Other|wise, th|
|00003bb0| 65 20 72 65 67 69 6f 6e | 20 63 6f 6e 74 61 69 6e |e region| contain|
|00003bc0| 73 20 61 20 73 74 72 65 | 74 63 68 20 6f 66 20 72 |s a stre|tch of r|
|00003bd0| 65 69 6e 73 65 72 74 65 | 64 0a 65 78 70 72 65 73 |einserte|d.expres|
|00003be0| 73 69 6f 6e 2e 20 20 79 | 61 6e 6b 2d 70 6f 70 20 |sion. y|ank-pop |
|00003bf0| 64 65 6c 65 74 65 73 20 | 74 68 61 74 20 74 65 78 |deletes |that tex|
|00003c00| 74 20 61 6e 64 20 69 6e | 73 65 72 74 73 20 69 6e |t and in|serts in|
|00003c10| 20 69 74 73 0a 70 6c 61 | 63 65 20 61 20 64 69 66 | its.pla|ce a dif|
|00003c20| 66 65 72 65 6e 74 20 65 | 78 70 72 65 73 73 69 6f |ferent e|xpressio|
|00003c30| 6e 2e 0a 0a 57 69 74 68 | 20 6e 6f 20 61 72 67 75 |n...With| no argu|
|00003c40| 6d 65 6e 74 2c 20 74 68 | 65 20 6e 65 78 74 20 6f |ment, th|e next o|
|00003c50| 6c 64 65 72 20 65 78 70 | 72 65 73 73 69 6f 6e 20 |lder exp|ression |
|00003c60| 69 73 20 69 6e 73 65 72 | 74 65 64 2e 0a 57 69 74 |is inser|ted..Wit|
|00003c70| 68 20 61 72 67 75 6d 65 | 6e 74 20 6e 2c 20 74 68 |h argume|nt n, th|
|00003c80| 65 20 6e 27 74 68 20 6f | 6c 64 65 72 20 65 78 70 |e n'th o|lder exp|
|00003c90| 72 65 73 73 69 6f 6e 20 | 69 73 20 69 6e 73 65 72 |ression |is inser|
|00003ca0| 74 65 64 2e 0a 49 66 20 | 6e 20 69 73 20 6e 65 67 |ted..If |n is neg|
|00003cb0| 61 74 69 76 65 2c 20 74 | 68 69 73 20 69 73 20 61 |ative, t|his is a|
|00003cc0| 20 6d 6f 72 65 20 72 65 | 63 65 6e 74 20 65 78 70 | more re|cent exp|
|00003cd0| 72 65 73 73 69 6f 6e 2e | 0a 0a 54 68 65 20 73 65 |ression.|..The se|
|00003ce0| 71 75 65 6e 63 65 20 6f | 66 20 65 78 70 72 65 73 |quence o|f expres|
|00003cf0| 73 69 6f 6e 73 20 77 72 | 61 70 73 20 61 72 6f 75 |sions wr|aps arou|
|00003d00| 6e 64 2c 20 73 6f 20 74 | 68 61 74 20 61 66 74 65 |nd, so t|hat afte|
|00003d10| 72 20 74 68 65 20 6f 6c | 64 65 73 74 20 6f 6e 65 |r the ol|dest one|
|00003d20| 0a 63 6f 6d 65 73 20 74 | 68 65 20 6e 65 77 65 73 |.comes t|he newes|
|00003d30| 74 20 6f 6e 65 2e 22 20 | 22 2a 70 22 5d 29 0a 28 |t one." |"*p"]).(|
|00003d40| 66 73 65 74 20 27 78 73 | 63 68 65 6d 65 2d 79 61 |fset 'xs|cheme-ya|
|00003d50| 6e 6b 2d 70 75 73 68 20 | 23 5b 28 61 72 67 29 20 |nk-push |#[(arg) |
|00003d60| 22 c0 09 5b 21 87 22 20 | 5b 78 73 63 68 65 6d 65 |"..[!." |[xscheme|
|00003d70| 2d 79 61 6e 6b 2d 70 6f | 70 20 61 72 67 5d 20 32 |-yank-po|p arg] 2|
|00003d80| 20 22 5c 0a 49 6e 73 65 | 72 74 20 6f 72 20 72 65 | "\.Inse|rt or re|
|00003d90| 70 6c 61 63 65 20 61 20 | 6a 75 73 74 2d 79 61 6e |place a |just-yan|
|00003da0| 6b 65 64 20 65 78 70 72 | 65 73 73 69 6f 6e 20 77 |ked expr|ession w|
|00003db0| 69 74 68 20 61 20 6d 6f | 72 65 20 72 65 63 65 6e |ith a mo|re recen|
|00003dc0| 74 20 65 78 70 72 65 73 | 73 69 6f 6e 2e 0a 49 66 |t expres|sion..If|
|00003dd0| 20 74 68 65 20 70 72 65 | 76 69 6f 75 73 20 63 6f | the pre|vious co|
|00003de0| 6d 6d 61 6e 64 20 77 61 | 73 20 6e 6f 74 20 61 20 |mmand wa|s not a |
|00003df0| 79 61 6e 6b 2c 20 69 74 | 20 79 61 6e 6b 73 2e 0a |yank, it| yanks..|
|00003e00| 4f 74 68 65 72 77 69 73 | 65 2c 20 74 68 65 20 72 |Otherwis|e, the r|
|00003e10| 65 67 69 6f 6e 20 63 6f | 6e 74 61 69 6e 73 20 61 |egion co|ntains a|
|00003e20| 20 73 74 72 65 74 63 68 | 20 6f 66 20 72 65 69 6e | stretch| of rein|
|00003e30| 73 65 72 74 65 64 0a 65 | 78 70 72 65 73 73 69 6f |serted.e|xpressio|
|00003e40| 6e 2e 20 20 79 61 6e 6b | 2d 70 6f 70 20 64 65 6c |n. yank|-pop del|
|00003e50| 65 74 65 73 20 74 68 61 | 74 20 74 65 78 74 20 61 |etes tha|t text a|
|00003e60| 6e 64 20 69 6e 73 65 72 | 74 73 20 69 6e 20 69 74 |nd inser|ts in it|
|00003e70| 73 0a 70 6c 61 63 65 20 | 61 20 64 69 66 66 65 72 |s.place |a differ|
|00003e80| 65 6e 74 20 65 78 70 72 | 65 73 73 69 6f 6e 2e 0a |ent expr|ession..|
|00003e90| 0a 57 69 74 68 20 6e 6f | 20 61 72 67 75 6d 65 6e |.With no| argumen|
|00003ea0| 74 2c 20 74 68 65 20 6e | 65 78 74 20 6d 6f 72 65 |t, the n|ext more|
|00003eb0| 20 72 65 63 65 6e 74 20 | 65 78 70 72 65 73 73 69 | recent |expressi|
|00003ec0| 6f 6e 20 69 73 20 69 6e | 73 65 72 74 65 64 2e 0a |on is in|serted..|
|00003ed0| 57 69 74 68 20 61 72 67 | 75 6d 65 6e 74 20 6e 2c |With arg|ument n,|
|00003ee0| 20 74 68 65 20 6e 27 74 | 68 20 6d 6f 72 65 20 72 | the n't|h more r|
|00003ef0| 65 63 65 6e 74 20 65 78 | 70 72 65 73 73 69 6f 6e |ecent ex|pression|
|00003f00| 20 69 73 20 69 6e 73 65 | 72 74 65 64 2e 0a 49 66 | is inse|rted..If|
|00003f10| 20 6e 20 69 73 20 6e 65 | 67 61 74 69 76 65 2c 20 | n is ne|gative, |
|00003f20| 61 20 6c 65 73 73 20 72 | 65 63 65 6e 74 20 65 78 |a less r|ecent ex|
|00003f30| 70 72 65 73 73 69 6f 6e | 20 69 73 20 75 73 65 64 |pression| is used|
|00003f40| 2e 0a 0a 54 68 65 20 73 | 65 71 75 65 6e 63 65 20 |...The s|equence |
|00003f50| 6f 66 20 65 78 70 72 65 | 73 73 69 6f 6e 73 20 77 |of expre|ssions w|
|00003f60| 72 61 70 73 20 61 72 6f | 75 6e 64 2c 20 73 6f 20 |raps aro|und, so |
|00003f70| 74 68 61 74 20 61 66 74 | 65 72 20 74 68 65 20 6f |that aft|er the o|
|00003f80| 6c 64 65 73 74 20 6f 6e | 65 0a 63 6f 6d 65 73 20 |ldest on|e.comes |
|00003f90| 74 68 65 20 6e 65 77 65 | 73 74 20 6f 6e 65 2e 22 |the newe|st one."|
|00003fa0| 20 22 2a 70 22 5d 29 0a | 28 66 73 65 74 20 27 78 | "*p"]).|(fset 'x|
|00003fb0| 73 63 68 65 6d 65 2d 73 | 65 6e 64 2d 72 65 67 69 |scheme-s|end-regi|
|00003fc0| 6f 6e 20 23 5b 28 73 74 | 61 72 74 20 65 6e 64 29 |on #[(st|art end)|
|00003fd0| 20 22 c0 20 ab 8c 09 62 | 88 c2 c3 0c 21 21 09 c5 | ". ...b|....!!..|
|00003fe0| 93 88 c6 0e 07 09 7b 21 | 87 22 20 5b 78 73 63 68 |......{!|." [xsch|
|00003ff0| 65 6d 65 2d 70 72 6f 63 | 65 73 73 2d 62 75 66 66 |eme-proc|ess-buff|
|00004000| 65 72 2d 63 75 72 72 65 | 6e 74 2d 70 20 65 6e 64 |er-curre|nt-p end|
|00004010| 20 70 72 6f 63 65 73 73 | 2d 6d 61 72 6b 20 67 65 | process|-mark ge|
|00004020| 74 2d 70 72 6f 63 65 73 | 73 20 78 73 63 68 65 6d |t-proces|s xschem|
|00004030| 65 2d 70 72 6f 63 65 73 | 73 2d 6e 61 6d 65 20 6e |e-proces|s-name n|
|00004040| 69 6c 20 78 73 63 68 65 | 6d 65 2d 73 65 6e 64 2d |il xsche|me-send-|
|00004050| 73 74 72 69 6e 67 20 73 | 74 61 72 74 5d 20 33 20 |string s|tart] 3 |
|00004060| 22 5c 0a 53 65 6e 64 20 | 74 68 65 20 63 75 72 72 |"\.Send |the curr|
|00004070| 65 6e 74 20 72 65 67 69 | 6f 6e 20 74 6f 20 74 68 |ent regi|on to th|
|00004080| 65 20 53 63 68 65 6d 65 | 20 70 72 6f 63 65 73 73 |e Scheme| process|
|00004090| 2e 0a 54 68 65 20 72 65 | 67 69 6f 6e 20 69 73 20 |..The re|gion is |
|000040a0| 73 65 6e 74 20 74 65 72 | 6d 69 6e 61 74 65 64 20 |sent ter|minated |
|000040b0| 62 79 20 61 20 6e 65 77 | 6c 69 6e 65 2e 22 20 22 |by a new|line." "|
|000040c0| 72 22 5d 29 0a 28 66 73 | 65 74 20 27 78 73 63 68 |r"]).(fs|et 'xsch|
|000040d0| 65 6d 65 2d 73 65 6e 64 | 2d 64 65 66 69 6e 69 74 |eme-send|-definit|
|000040e0| 69 6f 6e 20 23 5b 6e 69 | 6c 20 22 c0 89 19 1a 8a |ion #[ni|l ".....|
|000040f0| c3 20 88 60 11 c4 c5 c0 | c6 23 ab 84 60 12 aa 84 |. .`....|.#..`...|
|00004100| c7 c8 21 88 29 c9 5c 6e | 09 5c 22 2a 87 22 20 5b |..!.).\n|.\"*." [|
|00004110| 6e 69 6c 20 65 6e 64 20 | 73 74 61 72 74 20 65 6e |nil end |start en|
|00004120| 64 2d 6f 66 2d 64 65 66 | 75 6e 20 72 65 2d 73 65 |d-of-def|un re-se|
|00004130| 61 72 63 68 2d 62 61 63 | 6b 77 61 72 64 20 22 5e |arch-bac|kward "^|
|00004140| 5c 5c 73 28 22 20 74 20 | 65 72 72 6f 72 20 22 43 |\\s(" t |error "C|
|00004150| 61 6e 27 74 20 66 69 6e | 64 20 64 65 66 69 6e 69 |an't fin|d defini|
|00004160| 74 69 6f 6e 22 20 78 73 | 63 68 65 6d 65 2d 73 65 |tion" xs|cheme-se|
|00004170| 6e 64 2d 72 65 67 69 6f | 6e 5d 20 34 20 22 5c 0a |nd-regio|n] 4 "\.|
|00004180| 53 65 6e 64 20 74 68 65 | 20 63 75 72 72 65 6e 74 |Send the| current|
|00004190| 20 64 65 66 69 6e 69 74 | 69 6f 6e 20 74 6f 20 74 | definit|ion to t|
|000041a0| 68 65 20 53 63 68 65 6d | 65 20 70 72 6f 63 65 73 |he Schem|e proces|
|000041b0| 73 2e 0a 49 66 20 74 68 | 65 20 63 75 72 72 65 6e |s..If th|e curren|
|000041c0| 74 20 6c 69 6e 65 20 62 | 65 67 69 6e 73 20 77 69 |t line b|egins wi|
|000041d0| 74 68 20 61 20 6e 6f 6e | 2d 77 68 69 74 65 73 70 |th a non|-whitesp|
|000041e0| 61 63 65 20 63 68 61 72 | 61 63 74 65 72 2c 0a 70 |ace char|acter,.p|
|000041f0| 61 72 73 65 20 61 6e 20 | 65 78 70 72 65 73 73 69 |arse an |expressi|
|00004200| 6f 6e 20 66 72 6f 6d 20 | 74 68 65 20 62 65 67 69 |on from |the begi|
|00004210| 6e 6e 69 6e 67 20 6f 66 | 20 74 68 65 20 6c 69 6e |nning of| the lin|
|00004220| 65 20 61 6e 64 20 73 65 | 6e 64 20 74 68 61 74 20 |e and se|nd that |
|00004230| 69 6e 73 74 65 61 64 2e | 22 20 6e 69 6c 5d 29 0a |instead.|" nil]).|
|00004240| 28 66 73 65 74 20 27 78 | 73 63 68 65 6d 65 2d 73 |(fset 'x|scheme-s|
|00004250| 65 6e 64 2d 6e 65 78 74 | 2d 65 78 70 72 65 73 73 |end-next|-express|
|00004260| 69 6f 6e 20 23 5b 6e 69 | 6c 20 22 60 18 c1 08 8a |ion #[ni|l "`....|
|00004270| c2 20 88 60 29 5c 22 29 | 87 22 20 5b 73 74 61 72 |. .`)\")|." [star|
|00004280| 74 20 78 73 63 68 65 6d | 65 2d 73 65 6e 64 2d 72 |t xschem|e-send-r|
|00004290| 65 67 69 6f 6e 20 66 6f | 72 77 61 72 64 2d 73 65 |egion fo|rward-se|
|000042a0| 78 70 5d 20 33 20 22 5c | 0a 53 65 6e 64 20 74 68 |xp] 3 "\|.Send th|
|000042b0| 65 20 65 78 70 72 65 73 | 73 69 6f 6e 20 74 6f 20 |e expres|sion to |
|000042c0| 74 68 65 20 72 69 67 68 | 74 20 6f 66 20 60 70 6f |the righ|t of `po|
|000042d0| 69 6e 74 27 20 74 6f 20 | 74 68 65 20 53 63 68 65 |int' to |the Sche|
|000042e0| 6d 65 20 70 72 6f 63 65 | 73 73 2e 22 20 6e 69 6c |me proce|ss." nil|
|000042f0| 5d 29 0a 28 66 73 65 74 | 20 27 78 73 63 68 65 6d |]).(fset| 'xschem|
|00004300| 65 2d 73 65 6e 64 2d 70 | 72 65 76 69 6f 75 73 2d |e-send-p|revious-|
|00004310| 65 78 70 72 65 73 73 69 | 6f 6e 20 23 5b 6e 69 6c |expressi|on #[nil|
|00004320| 20 22 60 18 c1 8a c2 20 | 88 60 29 08 5c 22 29 87 | "`.... |.`).\").|
|00004330| 22 20 5b 65 6e 64 20 78 | 73 63 68 65 6d 65 2d 73 |" [end x|scheme-s|
|00004340| 65 6e 64 2d 72 65 67 69 | 6f 6e 20 62 61 63 6b 77 |end-regi|on backw|
|00004350| 61 72 64 2d 73 65 78 70 | 5d 20 33 20 22 5c 0a 53 |ard-sexp|] 3 "\.S|
|00004360| 65 6e 64 20 74 68 65 20 | 65 78 70 72 65 73 73 69 |end the |expressi|
|00004370| 6f 6e 20 74 6f 20 74 68 | 65 20 6c 65 66 74 20 6f |on to th|e left o|
|00004380| 66 20 60 70 6f 69 6e 74 | 27 20 74 6f 20 74 68 65 |f `point|' to the|
|00004390| 20 53 63 68 65 6d 65 20 | 70 72 6f 63 65 73 73 2e | Scheme |process.|
|000043a0| 22 20 6e 69 6c 5d 29 0a | 28 66 73 65 74 20 27 78 |" nil]).|(fset 'x|
|000043b0| 73 63 68 65 6d 65 2d 73 | 65 6e 64 2d 63 75 72 72 |scheme-s|end-curr|
|000043c0| 65 6e 74 2d 6c 69 6e 65 | 20 23 5b 6e 69 6c 20 22 |ent-line| #[nil "|
|000043d0| 8a c0 79 88 60 19 c2 7f | 88 09 60 7b 2a 1b c2 7f |..y.`...|..`{*...|
|000043e0| 88 c4 63 88 c5 0b 21 29 | 87 22 20 5b 30 20 73 74 |..c...!)|." [0 st|
|000043f0| 61 72 74 20 6e 69 6c 20 | 6c 69 6e 65 20 31 30 20 |art nil |line 10 |
|00004400| 78 73 63 68 65 6d 65 2d | 73 65 6e 64 2d 73 74 72 |xscheme-|send-str|
|00004410| 69 6e 67 2d 32 5d 20 32 | 20 22 5c 0a 53 65 6e 64 |ing-2] 2| "\.Send|
|00004420| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 6c 69 6e | the cur|rent lin|
|00004430| 65 20 74 6f 20 74 68 65 | 20 53 63 68 65 6d 65 20 |e to the| Scheme |
|00004440| 70 72 6f 63 65 73 73 2e | 0a 55 73 65 66 75 6c 20 |process.|.Useful |
|00004450| 66 6f 72 20 77 6f 72 6b | 69 6e 67 20 77 69 74 68 |for work|ing with|
|00004460| 20 64 65 62 75 67 67 69 | 6e 67 20 53 63 68 65 6d | debuggi|ng Schem|
|00004470| 65 20 75 6e 64 65 72 20 | 61 64 62 2e 22 20 6e 69 |e under |adb." ni|
|00004480| 6c 5d 29 0a 28 66 73 65 | 74 20 27 78 73 63 68 65 |l]).(fse|t 'xsche|
|00004490| 6d 65 2d 73 65 6e 64 2d | 62 75 66 66 65 72 20 23 |me-send-|buffer #|
|000044a0| 5b 6e 69 6c 20 22 c0 20 | ab 84 c1 c2 21 88 c3 65 |[nil ". |....!..e|
|000044b0| 64 5c 22 87 22 20 5b 78 | 73 63 68 65 6d 65 2d 70 |d\"." [x|scheme-p|
|000044c0| 72 6f 63 65 73 73 2d 62 | 75 66 66 65 72 2d 63 75 |rocess-b|uffer-cu|
|000044d0| 72 72 65 6e 74 2d 70 20 | 65 72 72 6f 72 20 22 4e |rrent-p |error "N|
|000044e0| 6f 74 20 61 6c 6c 6f 77 | 65 64 20 74 6f 20 73 65 |ot allow|ed to se|
|000044f0| 6e 64 20 74 68 69 73 20 | 62 75 66 66 65 72 27 73 |nd this |buffer's|
|00004500| 20 63 6f 6e 74 65 6e 74 | 73 20 74 6f 20 53 63 68 | content|s to Sch|
|00004510| 65 6d 65 22 20 78 73 63 | 68 65 6d 65 2d 73 65 6e |eme" xsc|heme-sen|
|00004520| 64 2d 72 65 67 69 6f 6e | 5d 20 33 20 22 5c 0a 53 |d-region|] 3 "\.S|
|00004530| 65 6e 64 20 74 68 65 20 | 63 75 72 72 65 6e 74 20 |end the |current |
|00004540| 62 75 66 66 65 72 20 74 | 6f 20 74 68 65 20 53 63 |buffer t|o the Sc|
|00004550| 68 65 6d 65 20 70 72 6f | 63 65 73 73 2e 22 20 6e |heme pro|cess." n|
|00004560| 69 6c 5d 29 0a 28 66 73 | 65 74 20 27 78 73 63 68 |il]).(fs|et 'xsch|
|00004570| 65 6d 65 2d 73 65 6e 64 | 2d 63 68 61 72 20 23 5b |eme-send|-char #[|
|00004580| 28 63 68 61 72 29 20 22 | c0 09 c2 0b 21 5c 22 87 |(char) "|....!\".|
|00004590| 22 20 5b 70 72 6f 63 65 | 73 73 2d 73 65 6e 64 2d |" [proce|ss-send-|
|000045a0| 73 74 72 69 6e 67 20 78 | 73 63 68 65 6d 65 2d 70 |string x|scheme-p|
|000045b0| 72 6f 63 65 73 73 2d 6e | 61 6d 65 20 63 68 61 72 |rocess-n|ame char|
|000045c0| 2d 74 6f 2d 73 74 72 69 | 6e 67 20 63 68 61 72 5d |-to-stri|ng char]|
|000045d0| 20 34 20 22 5c 0a 50 72 | 6f 6d 70 74 20 66 6f 72 | 4 "\.Pr|ompt for|
|000045e0| 20 61 20 63 68 61 72 61 | 63 74 65 72 20 61 6e 64 | a chara|cter and|
|000045f0| 20 73 65 6e 64 20 69 74 | 20 74 6f 20 74 68 65 20 | send it| to the |
|00004600| 53 63 68 65 6d 65 20 70 | 72 6f 63 65 73 73 2e 22 |Scheme p|rocess."|
|00004610| 20 22 63 43 68 61 72 61 | 63 74 65 72 20 74 6f 20 | "cChara|cter to |
|00004620| 73 65 6e 64 3a 20 22 5d | 29 0a 28 66 73 65 74 20 |send: "]|).(fset |
|00004630| 27 78 73 63 68 65 6d 65 | 2d 73 65 6e 64 2d 62 72 |'xscheme|-send-br|
|00004640| 65 61 6b 70 6f 69 6e 74 | 2d 69 6e 74 65 72 72 75 |eakpoint|-interru|
|00004650| 70 74 20 23 5b 6e 69 6c | 20 22 c0 c1 c2 5c 22 87 |pt #[nil| "...\".|
|00004660| 22 20 5b 78 73 63 68 65 | 6d 65 2d 73 65 6e 64 2d |" [xsche|me-send-|
|00004670| 69 6e 74 65 72 72 75 70 | 74 20 39 38 20 6e 69 6c |interrup|t 98 nil|
|00004680| 5d 20 33 20 22 5c 0a 43 | 61 75 73 65 20 74 68 65 |] 3 "\.C|ause the|
|00004690| 20 53 63 68 65 6d 65 20 | 70 72 6f 63 65 73 73 20 | Scheme |process |
|000046a0| 74 6f 20 65 6e 74 65 72 | 20 61 20 62 72 65 61 6b |to enter| a break|
|000046b0| 70 6f 69 6e 74 2e 22 20 | 6e 69 6c 5d 29 0a 28 66 |point." |nil]).(f|
|000046c0| 73 65 74 20 27 78 73 63 | 68 65 6d 65 2d 73 65 6e |set 'xsc|heme-sen|
|000046d0| 64 2d 70 72 6f 63 65 65 | 64 20 23 5b 6e 69 6c 20 |d-procee|d #[nil |
|000046e0| 22 c0 09 c2 5c 22 87 22 | 20 5b 70 72 6f 63 65 73 |"...\"."| [proces|
|000046f0| 73 2d 73 65 6e 64 2d 73 | 74 72 69 6e 67 20 78 73 |s-send-s|tring xs|
|00004700| 63 68 65 6d 65 2d 70 72 | 6f 63 65 73 73 2d 6e 61 |cheme-pr|ocess-na|
|00004710| 6d 65 20 22 28 70 72 6f | 63 65 65 64 29 5c 6e 22 |me "(pro|ceed)\n"|
|00004720| 5d 20 33 20 22 5c 0a 43 | 61 75 73 65 20 74 68 65 |] 3 "\.C|ause the|
|00004730| 20 53 63 68 65 6d 65 20 | 70 72 6f 63 65 73 73 20 | Scheme |process |
|00004740| 74 6f 20 70 72 6f 63 65 | 65 64 20 66 72 6f 6d 20 |to proce|ed from |
|00004750| 61 20 62 72 65 61 6b 70 | 6f 69 6e 74 2e 22 20 6e |a breakp|oint." n|
|00004760| 69 6c 5d 29 0a 28 66 73 | 65 74 20 27 62 75 66 66 |il]).(fs|et 'buff|
|00004770| 65 72 2d 6c 6f 63 61 6c | 2d 76 61 6c 75 65 2d 63 |er-local|-value-c|
|00004780| 65 6c 6c 20 23 5b 28 62 | 75 66 66 65 72 20 6e 61 |ell #[(b|uffer na|
|00004790| 6d 65 29 20 22 08 c1 c2 | 0b 21 21 9e 89 1c ac 85 |me) "...|.!!.....|
|000047a0| c5 c6 21 aa 81 0c 29 87 | 22 20 5b 6e 61 6d 65 20 |..!...).|" [name |
|000047b0| 62 75 66 66 65 72 2d 6c | 6f 63 61 6c 2d 76 61 72 |buffer-l|ocal-var|
|000047c0| 69 61 62 6c 65 73 20 67 | 65 74 2d 62 75 66 66 65 |iables g|et-buffe|
|000047d0| 72 20 62 75 66 66 65 72 | 20 70 61 69 72 20 65 72 |r buffer| pair er|
|000047e0| 72 6f 72 20 22 62 75 66 | 66 65 72 2d 6c 6f 63 61 |ror "buf|fer-loca|
|000047f0| 6c 2d 76 61 6c 75 65 2d | 63 65 6c 6c 3a 20 4e 6f |l-value-|cell: No|
|00004800| 74 20 62 6f 75 6e 64 22 | 5d 20 35 5d 29 0a 28 66 |t bound"|] 5]).(f|
|00004810| 73 65 74 20 27 78 73 63 | 68 65 6d 65 2d 73 65 6e |set 'xsc|heme-sen|
|00004820| 64 2d 63 6f 6e 74 72 6f | 6c 2d 67 2d 69 6e 74 65 |d-contro|l-g-inte|
|00004830| 72 72 75 70 74 20 23 5b | 6e 69 6c 20 22 c0 19 c2 |rrupt #[|nil "...|
|00004840| 0b c4 5c 22 1d 0e 06 ac | 86 c7 0e 08 21 aa 9d 0d |..\"....|....!...|
|00004850| 41 ab 85 c9 ca 21 aa 94 | 0d c0 a1 88 c9 cb 21 88 |A....!..|......!.|
|00004860| c7 0e 08 21 88 cc 0e 08 | cd ce 21 5c 22 2a 87 22 |...!....|..!\"*."|
|00004870| 20 5b 74 20 69 6e 68 69 | 62 69 74 2d 71 75 69 74 | [t inhi|bit-quit|
|00004880| 20 62 75 66 66 65 72 2d | 6c 6f 63 61 6c 2d 76 61 | buffer-|local-va|
|00004890| 6c 75 65 2d 63 65 6c 6c | 20 78 73 63 68 65 6d 65 |lue-cell| xscheme|
|000048a0| 2d 62 75 66 66 65 72 2d | 6e 61 6d 65 20 78 73 63 |-buffer-|name xsc|
|000048b0| 68 65 6d 65 2d 63 6f 6e | 74 72 6f 6c 2d 67 2d 64 |heme-con|trol-g-d|
|000048c0| 69 73 61 62 6c 65 64 2d | 70 20 76 63 65 6c 6c 20 |isabled-|p vcell |
|000048d0| 78 73 63 68 65 6d 65 2d | 63 6f 6e 74 72 6f 6c 2d |xscheme-|control-|
|000048e0| 67 2d 73 79 6e 63 68 72 | 6f 6e 69 7a 61 74 69 6f |g-synchr|onizatio|
|000048f0| 6e 2d 70 20 69 6e 74 65 | 72 72 75 70 74 2d 70 72 |n-p inte|rrupt-pr|
|00004900| 6f 63 65 73 73 20 78 73 | 63 68 65 6d 65 2d 70 72 |ocess xs|cheme-pr|
|00004910| 6f 63 65 73 73 2d 6e 61 | 6d 65 20 6d 65 73 73 61 |ocess-na|me messa|
|00004920| 67 65 20 22 52 65 6c 61 | 78 2e 2e 2e 22 20 22 53 |ge "Rela|x..." "S|
|00004930| 65 6e 64 69 6e 67 20 43 | 2d 47 20 69 6e 74 65 72 |ending C|-G inter|
|00004940| 72 75 70 74 20 74 6f 20 | 53 63 68 65 6d 65 2e 2e |rupt to |Scheme..|
|00004950| 2e 22 20 70 72 6f 63 65 | 73 73 2d 73 65 6e 64 2d |." proce|ss-send-|
|00004960| 73 74 72 69 6e 67 20 63 | 68 61 72 2d 74 6f 2d 73 |string c|har-to-s|
|00004970| 74 72 69 6e 67 20 30 5d | 20 34 20 22 5c 0a 43 61 |tring 0]| 4 "\.Ca|
|00004980| 75 73 65 20 74 68 65 20 | 53 63 68 65 6d 65 20 70 |use the |Scheme p|
|00004990| 72 6f 63 65 73 73 6f 72 | 20 74 6f 20 68 61 6c 74 |rocessor| to halt|
|000049a0| 20 61 6e 64 20 66 6c 75 | 73 68 20 69 6e 70 75 74 | and flu|sh input|
|000049b0| 2e 0a 43 6f 6e 74 72 6f | 6c 20 72 65 74 75 72 6e |..Contro|l return|
|000049c0| 73 20 74 6f 20 74 68 65 | 20 74 6f 70 20 6c 65 76 |s to the| top lev|
|000049d0| 65 6c 20 72 65 70 20 6c | 6f 6f 70 2e 22 20 6e 69 |el rep l|oop." ni|
|000049e0| 6c 5d 29 0a 28 66 73 65 | 74 20 27 78 73 63 68 65 |l]).(fse|t 'xsche|
|000049f0| 6d 65 2d 73 65 6e 64 2d | 63 6f 6e 74 72 6f 6c 2d |me-send-|control-|
|00004a00| 75 2d 69 6e 74 65 72 72 | 75 70 74 20 23 5b 6e 69 |u-interr|upt #[ni|
|00004a10| 6c 20 22 c0 c1 c2 5c 22 | 87 22 20 5b 78 73 63 68 |l "...\"|." [xsch|
|00004a20| 65 6d 65 2d 73 65 6e 64 | 2d 69 6e 74 65 72 72 75 |eme-send|-interru|
|00004a30| 70 74 20 31 31 37 20 74 | 5d 20 33 20 22 5c 0a 43 |pt 117 t|] 3 "\.C|
|00004a40| 61 75 73 65 20 74 68 65 | 20 53 63 68 65 6d 65 20 |ause the| Scheme |
|00004a50| 70 72 6f 63 65 73 73 20 | 74 6f 20 68 61 6c 74 2c |process |to halt,|
|00004a60| 20 72 65 74 75 72 6e 69 | 6e 67 20 74 6f 20 70 72 | returni|ng to pr|
|00004a70| 65 76 69 6f 75 73 20 72 | 65 70 20 6c 6f 6f 70 2e |evious r|ep loop.|
|00004a80| 22 20 6e 69 6c 5d 29 0a | 28 66 73 65 74 20 27 78 |" nil]).|(fset 'x|
|00004a90| 73 63 68 65 6d 65 2d 73 | 65 6e 64 2d 63 6f 6e 74 |scheme-s|end-cont|
|00004aa0| 72 6f 6c 2d 78 2d 69 6e | 74 65 72 72 75 70 74 20 |rol-x-in|terrupt |
|00004ab0| 23 5b 6e 69 6c 20 22 c0 | c1 c2 5c 22 87 22 20 5b |#[nil ".|..\"." [|
|00004ac0| 78 73 63 68 65 6d 65 2d | 73 65 6e 64 2d 69 6e 74 |xscheme-|send-int|
|00004ad0| 65 72 72 75 70 74 20 31 | 32 30 20 74 5d 20 33 20 |errupt 1|20 t] 3 |
|00004ae0| 22 5c 0a 43 61 75 73 65 | 20 74 68 65 20 53 63 68 |"\.Cause| the Sch|
|00004af0| 65 6d 65 20 70 72 6f 63 | 65 73 73 20 74 6f 20 68 |eme proc|ess to h|
|00004b00| 61 6c 74 2c 20 72 65 74 | 75 72 6e 69 6e 67 20 74 |alt, ret|urning t|
|00004b10| 6f 20 63 75 72 72 65 6e | 74 20 72 65 70 20 6c 6f |o curren|t rep lo|
|00004b20| 6f 70 2e 22 20 6e 69 6c | 5d 29 0a 28 66 73 65 74 |op." nil|]).(fset|
|00004b30| 20 27 78 73 63 68 65 6d | 65 2d 73 65 6e 64 2d 69 | 'xschem|e-send-i|
|00004b40| 6e 74 65 72 72 75 70 74 | 20 23 5b 28 63 68 61 72 |nterrupt| #[(char|
|00004b50| 20 6d 61 72 6b 2d 70 29 | 20 22 c0 09 21 88 c2 09 | mark-p)| "..!...|
|00004b60| c3 0c 21 5c 22 88 0d ad | 8a 0e 06 ad 86 c2 09 c3 |..!\"...|........|
|00004b70| c7 21 5c 22 87 22 20 5b | 71 75 69 74 2d 70 72 6f |.!\"." [|quit-pro|
|00004b80| 63 65 73 73 20 78 73 63 | 68 65 6d 65 2d 70 72 6f |cess xsc|heme-pro|
|00004b90| 63 65 73 73 2d 6e 61 6d | 65 20 70 72 6f 63 65 73 |cess-nam|e proces|
|00004ba0| 73 2d 73 65 6e 64 2d 73 | 74 72 69 6e 67 20 63 68 |s-send-s|tring ch|
|00004bb0| 61 72 2d 74 6f 2d 73 74 | 72 69 6e 67 20 63 68 61 |ar-to-st|ring cha|
|00004bc0| 72 20 6d 61 72 6b 2d 70 | 20 78 73 63 68 65 6d 65 |r mark-p| xscheme|
|00004bd0| 2d 63 6f 6e 74 72 6f 6c | 2d 67 2d 73 79 6e 63 68 |-control|-g-synch|
|00004be0| 72 6f 6e 69 7a 61 74 69 | 6f 6e 2d 70 20 30 5d 20 |ronizati|on-p 0] |
|00004bf0| 34 20 22 5c 0a 53 65 6e | 64 20 61 20 5e 41 20 74 |4 "\.Sen|d a ^A t|
|00004c00| 79 70 65 20 69 6e 74 65 | 72 72 75 70 74 20 74 6f |ype inte|rrupt to|
|00004c10| 20 74 68 65 20 53 63 68 | 65 6d 65 20 70 72 6f 63 | the Sch|eme proc|
|00004c20| 65 73 73 2e 22 20 22 63 | 49 6e 74 65 72 72 75 70 |ess." "c|Interrup|
|00004c30| 74 20 63 68 61 72 61 63 | 74 65 72 20 74 6f 20 73 |t charac|ter to s|
|00004c40| 65 6e 64 3a 20 22 5d 29 | 0a 28 64 65 66 76 61 72 |end: "])|.(defvar|
|00004c50| 20 78 73 63 68 65 6d 65 | 2d 70 72 6f 63 65 73 73 | xscheme|-process|
|00004c60| 2d 63 6f 6d 6d 61 6e 64 | 2d 6c 69 6e 65 20 6e 69 |-command|-line ni|
|00004c70| 6c 20 22 5c 0a 43 6f 6d | 6d 61 6e 64 20 75 73 65 |l "\.Com|mand use|
|00004c80| 64 20 74 6f 20 73 74 61 | 72 74 20 74 68 65 20 6d |d to sta|rt the m|
|00004c90| 6f 73 74 20 72 65 63 65 | 6e 74 20 53 63 68 65 6d |ost rece|nt Schem|
|00004ca0| 65 20 70 72 6f 63 65 73 | 73 2e 22 29 0a 28 64 65 |e proces|s.").(de|
|00004cb0| 66 76 61 72 20 78 73 63 | 68 65 6d 65 2d 65 78 70 |fvar xsc|heme-exp|
|00004cc0| 72 65 73 73 69 6f 6e 73 | 2d 72 69 6e 67 2d 6d 61 |ressions|-ring-ma|
|00004cd0| 78 20 33 30 20 22 5c 0a | 2a 4d 61 78 69 6d 75 6d |x 30 "\.|*Maximum|
|00004ce0| 20 6c 65 6e 67 74 68 20 | 6f 66 20 53 63 68 65 6d | length |of Schem|
|00004cf0| 65 20 65 78 70 72 65 73 | 73 69 6f 6e 73 20 72 69 |e expres|sions ri|
|00004d00| 6e 67 2e 22 29 0a 28 64 | 65 66 76 61 72 20 78 73 |ng.").(d|efvar xs|
|00004d10| 63 68 65 6d 65 2d 65 78 | 70 72 65 73 73 69 6f 6e |cheme-ex|pression|
|00004d20| 73 2d 72 69 6e 67 20 6e | 69 6c 20 22 5c 0a 4c 69 |s-ring n|il "\.Li|
|00004d30| 73 74 20 6f 66 20 65 78 | 70 72 65 73 73 69 6f 6e |st of ex|pression|
|00004d40| 73 20 72 65 63 65 6e 74 | 6c 79 20 74 72 61 6e 73 |s recent|ly trans|
|00004d50| 6d 69 74 74 65 64 20 74 | 6f 20 74 68 65 20 53 63 |mitted t|o the Sc|
|00004d60| 68 65 6d 65 20 70 72 6f | 63 65 73 73 2e 22 29 0a |heme pro|cess.").|
|00004d70| 28 64 65 66 76 61 72 20 | 78 73 63 68 65 6d 65 2d |(defvar |xscheme-|
|00004d80| 65 78 70 72 65 73 73 69 | 6f 6e 73 2d 72 69 6e 67 |expressi|ons-ring|
|00004d90| 2d 79 61 6e 6b 2d 70 6f | 69 6e 74 65 72 20 6e 69 |-yank-po|inter ni|
|00004da0| 6c 20 22 5c 0a 54 68 65 | 20 74 61 69 6c 20 6f 66 |l "\.The| tail of|
|00004db0| 20 74 68 65 20 53 63 68 | 65 6d 65 20 65 78 70 72 | the Sch|eme expr|
|00004dc0| 65 73 73 69 6f 6e 73 20 | 72 69 6e 67 20 77 68 6f |essions |ring who|
|00004dd0| 73 65 20 63 61 72 20 69 | 73 20 74 68 65 20 6c 61 |se car i|s the la|
|00004de0| 73 74 20 74 68 69 6e 67 | 20 79 61 6e 6b 65 64 2e |st thing| yanked.|
|00004df0| 22 29 0a 28 64 65 66 76 | 61 72 20 78 73 63 68 65 |").(defv|ar xsche|
|00004e00| 6d 65 2d 70 72 6f 63 65 | 73 73 2d 66 69 6c 74 65 |me-proce|ss-filte|
|00004e10| 72 2d 73 74 61 74 65 20 | 27 69 64 6c 65 20 22 5c |r-state |'idle "\|
|00004e20| 0a 53 74 61 74 65 20 6f | 66 20 73 63 68 65 6d 65 |.State o|f scheme|
|00004e30| 20 70 72 6f 63 65 73 73 | 20 65 73 63 61 70 65 20 | process| escape |
|00004e40| 72 65 61 64 65 72 20 73 | 74 61 74 65 20 6d 61 63 |reader s|tate mac|
|00004e50| 68 69 6e 65 3a 0a 69 64 | 6c 65 20 20 20 20 20 20 |hine:.id|le |
|00004e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 77 61 69 | | wai|
|00004e70| 74 69 6e 67 20 66 6f 72 | 20 61 6e 20 65 73 63 61 |ting for| an esca|
|00004e80| 70 65 20 73 65 71 75 65 | 6e 63 65 0a 72 65 61 64 |pe seque|nce.read|
|00004e90| 69 6e 67 2d 74 79 70 65 | 20 20 20 20 20 20 20 20 |ing-type| |
|00004ea0| 20 20 20 72 65 63 65 69 | 76 65 64 20 61 6e 20 61 | recei|ved an a|
|00004eb0| 6c 74 6d 6f 64 65 20 62 | 75 74 20 6e 6f 74 68 69 |ltmode b|ut nothi|
|00004ec0| 6e 67 20 65 6c 73 65 0a | 72 65 61 64 69 6e 67 2d |ng else.|reading-|
|00004ed0| 73 74 72 69 6e 67 20 20 | 20 20 20 20 20 20 20 72 |string | r|
|00004ee0| 65 61 64 69 6e 67 20 70 | 72 6f 6d 70 74 20 73 74 |eading p|rompt st|
|00004ef0| 72 69 6e 67 22 29 0a 28 | 64 65 66 76 61 72 20 78 |ring").(|defvar x|
|00004f00| 73 63 68 65 6d 65 2d 72 | 75 6e 6e 69 6e 67 2d 70 |scheme-r|unning-p|
|00004f10| 20 6e 69 6c 20 22 5c 0a | 54 68 69 73 20 76 61 72 | nil "\.|This var|
|00004f20| 69 61 62 6c 65 2c 20 69 | 66 20 6e 69 6c 2c 20 69 |iable, i|f nil, i|
|00004f30| 6e 64 69 63 61 74 65 73 | 20 74 68 61 74 20 74 68 |ndicates| that th|
|00004f40| 65 20 73 63 68 65 6d 65 | 20 70 72 6f 63 65 73 73 |e scheme| process|
|00004f50| 20 69 73 0a 77 61 69 74 | 69 6e 67 20 66 6f 72 20 | is.wait|ing for |
|00004f60| 69 6e 70 75 74 2e 20 20 | 4f 74 68 65 72 77 69 73 |input. |Otherwis|
|00004f70| 65 2c 20 69 74 20 69 73 | 20 62 75 73 79 20 65 76 |e, it is| busy ev|
|00004f80| 61 6c 75 61 74 69 6e 67 | 20 73 6f 6d 65 74 68 69 |aluating| somethi|
|00004f90| 6e 67 2e 22 29 0a 28 64 | 65 66 63 6f 6e 73 74 20 |ng.").(d|efconst |
|00004fa0| 78 73 63 68 65 6d 65 2d | 63 6f 6e 74 72 6f 6c 2d |xscheme-|control-|
|00004fb0| 67 2d 73 79 6e 63 68 72 | 6f 6e 69 7a 61 74 69 6f |g-synchr|onizatio|
|00004fc0| 6e 2d 70 20 74 20 22 5c | 0a 49 66 20 6e 6f 6e 2d |n-p t "\|.If non-|
|00004fd0| 6e 69 6c 2c 20 69 6e 73 | 65 72 74 20 6d 61 72 6b |nil, ins|ert mark|
|00004fe0| 65 72 73 20 69 6e 20 74 | 68 65 20 73 63 68 65 6d |ers in t|he schem|
|00004ff0| 65 20 69 6e 70 75 74 20 | 73 74 72 65 61 6d 20 74 |e input |stream t|
|00005000| 6f 20 69 6e 64 69 63 61 | 74 65 20 77 68 65 6e 0a |o indica|te when.|
|00005010| 63 6f 6e 74 72 6f 6c 2d | 67 20 69 6e 74 65 72 72 |control-|g interr|
|00005020| 75 70 74 73 20 77 65 72 | 65 20 73 69 67 6e 61 6c |upts wer|e signal|
|00005030| 6c 65 64 2e 20 20 44 6f | 20 6e 6f 74 20 61 6c 6c |led. Do| not all|
|00005040| 6f 77 20 6d 6f 72 65 20 | 63 6f 6e 74 72 6f 6c 2d |ow more |control-|
|00005050| 67 27 73 20 74 6f 20 62 | 65 0a 73 69 67 6e 61 6c |g's to b|e.signal|
|00005060| 6c 65 64 20 75 6e 74 69 | 6c 20 74 68 65 20 73 63 |led unti|l the sc|
|00005070| 68 65 6d 65 20 70 72 6f | 63 65 73 73 20 61 63 6b |heme pro|cess ack|
|00005080| 6e 6f 77 6c 65 64 67 65 | 73 20 72 65 63 65 69 70 |nowledge|s receip|
|00005090| 74 2e 22 29 0a 28 64 65 | 66 76 61 72 20 78 73 63 |t.").(de|fvar xsc|
|000050a0| 68 65 6d 65 2d 63 6f 6e | 74 72 6f 6c 2d 67 2d 64 |heme-con|trol-g-d|
|000050b0| 69 73 61 62 6c 65 64 2d | 70 20 6e 69 6c 20 22 5c |isabled-|p nil "\|
|000050c0| 0a 54 68 69 73 20 76 61 | 72 69 61 62 6c 65 2c 20 |.This va|riable, |
|000050d0| 69 66 20 6e 6f 6e 2d 6e | 69 6c 2c 20 69 6e 64 69 |if non-n|il, indi|
|000050e0| 63 61 74 65 73 20 74 68 | 61 74 20 61 20 63 6f 6e |cates th|at a con|
|000050f0| 74 72 6f 6c 2d 67 20 69 | 73 20 62 65 69 6e 67 20 |trol-g i|s being |
|00005100| 70 72 6f 63 65 73 73 65 | 64 0a 62 79 20 74 68 65 |processe|d.by the|
|00005110| 20 73 63 68 65 6d 65 20 | 70 72 6f 63 65 73 73 2c | scheme |process,|
|00005120| 20 73 6f 20 61 64 64 69 | 74 69 6f 6e 61 6c 20 63 | so addi|tional c|
|00005130| 6f 6e 74 72 6f 6c 2d 67 | 27 73 20 61 72 65 20 74 |ontrol-g|'s are t|
|00005140| 6f 20 62 65 20 69 67 6e | 6f 72 65 64 2e 22 29 0a |o be ign|ored.").|
|00005150| 28 64 65 66 76 61 72 20 | 78 73 63 68 65 6d 65 2d |(defvar |xscheme-|
|00005160| 61 6c 6c 6f 77 2d 6f 75 | 74 70 75 74 2d 70 20 74 |allow-ou|tput-p t|
|00005170| 20 22 5c 0a 54 68 69 73 | 20 76 61 72 69 61 62 6c | "\.This| variabl|
|00005180| 65 2c 20 69 66 20 6e 69 | 6c 2c 20 70 72 65 76 65 |e, if ni|l, preve|
|00005190| 6e 74 73 20 6f 75 74 70 | 75 74 20 66 72 6f 6d 20 |nts outp|ut from |
|000051a0| 74 68 65 20 73 63 68 65 | 6d 65 20 70 72 6f 63 65 |the sche|me proce|
|000051b0| 73 73 0a 66 72 6f 6d 20 | 62 65 69 6e 67 20 69 6e |ss.from |being in|
|000051c0| 73 65 72 74 65 64 20 69 | 6e 74 6f 20 74 68 65 20 |serted i|nto the |
|000051d0| 70 72 6f 63 65 73 73 2d | 62 75 66 66 65 72 2e 22 |process-|buffer."|
|000051e0| 29 0a 28 64 65 66 76 61 | 72 20 78 73 63 68 65 6d |).(defva|r xschem|
|000051f0| 65 2d 70 72 6f 6d 70 74 | 20 22 22 20 22 5c 0a 54 |e-prompt| "" "\.T|
|00005200| 68 65 20 63 75 72 72 65 | 6e 74 20 73 63 68 65 6d |he curre|nt schem|
|00005210| 65 20 70 72 6f 6d 70 74 | 20 73 74 72 69 6e 67 2e |e prompt| string.|
|00005220| 22 29 0a 28 64 65 66 76 | 61 72 20 78 73 63 68 65 |").(defv|ar xsche|
|00005230| 6d 65 2d 73 74 72 69 6e | 67 2d 61 63 63 75 6d 75 |me-strin|g-accumu|
|00005240| 6c 61 74 6f 72 20 22 22 | 20 22 5c 0a 41 63 63 75 |lator ""| "\.Accu|
|00005250| 6d 75 6c 61 74 6f 72 20 | 66 6f 72 20 74 68 65 20 |mulator |for the |
|00005260| 73 74 72 69 6e 67 20 62 | 65 69 6e 67 20 72 65 63 |string b|eing rec|
|00005270| 65 69 76 65 64 20 66 72 | 6f 6d 20 74 68 65 20 73 |eived fr|om the s|
|00005280| 63 68 65 6d 65 20 70 72 | 6f 63 65 73 73 2e 22 29 |cheme pr|ocess.")|
|00005290| 0a 28 64 65 66 76 61 72 | 20 78 73 63 68 65 6d 65 |.(defvar| xscheme|
|000052a0| 2d 73 74 72 69 6e 67 2d | 72 65 63 65 69 76 65 72 |-string-|receiver|
|000052b0| 20 6e 69 6c 20 22 5c 0a | 50 72 6f 63 65 64 75 72 | nil "\.|Procedur|
|000052c0| 65 20 74 6f 20 73 65 6e | 64 20 74 68 65 20 73 74 |e to sen|d the st|
|000052d0| 72 69 6e 67 20 61 72 67 | 75 6d 65 6e 74 20 66 72 |ring arg|ument fr|
|000052e0| 6f 6d 20 74 68 65 20 73 | 63 68 65 6d 65 20 70 72 |om the s|cheme pr|
|000052f0| 6f 63 65 73 73 2e 22 29 | 0a 28 64 65 66 76 61 72 |ocess.")|.(defvar|
|00005300| 20 78 73 63 68 65 6d 65 | 2d 73 74 61 72 74 2d 68 | xscheme|-start-h|
|00005310| 6f 6f 6b 20 6e 69 6c 20 | 22 5c 0a 49 66 20 6e 6f |ook nil |"\.If no|
|00005320| 6e 2d 6e 69 6c 2c 20 61 | 20 70 72 6f 63 65 64 75 |n-nil, a| procedu|
|00005330| 72 65 20 74 6f 20 63 61 | 6c 6c 20 77 68 65 6e 20 |re to ca|ll when |
|00005340| 74 68 65 20 53 63 68 65 | 6d 65 20 70 72 6f 63 65 |the Sche|me proce|
|00005350| 73 73 20 69 73 20 73 74 | 61 72 74 65 64 2e 0a 57 |ss is st|arted..W|
|00005360| 68 65 6e 20 63 61 6c 6c | 65 64 2c 20 74 68 65 20 |hen call|ed, the |
|00005370| 63 75 72 72 65 6e 74 20 | 62 75 66 66 65 72 20 77 |current |buffer w|
|00005380| 69 6c 6c 20 62 65 20 74 | 68 65 20 53 63 68 65 6d |ill be t|he Schem|
|00005390| 65 20 70 72 6f 63 65 73 | 73 2d 62 75 66 66 65 72 |e proces|s-buffer|
|000053a0| 2e 22 29 0a 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |.").(byt|e-code "|
|000053b0| c0 c1 21 ac 82 c2 11 c0 | c3 21 ac 82 c4 13 c0 c5 |..!.....|.!......|
|000053c0| 21 ac 82 c4 15 c6 c7 c8 | 5c 22 88 c9 ca cb 5c 22 |!.......|\"....\"|
|000053d0| 88 cc cd 4d 88 ce cf 4d | 88 d0 d1 4d 87 22 20 5b |...M...M|...M." [|
|000053e0| 62 6f 75 6e 64 70 20 78 | 73 63 68 65 6d 65 2d 72 |boundp x|scheme-r|
|000053f0| 75 6e 6c 69 67 68 74 20 | 22 22 20 78 73 63 68 65 |unlight |"" xsche|
|00005400| 6d 65 2d 72 75 6e 6c 69 | 67 68 74 2d 73 74 72 69 |me-runli|ght-stri|
|00005410| 6e 67 20 6e 69 6c 20 78 | 73 63 68 65 6d 65 2d 6d |ng nil x|scheme-m|
|00005420| 6f 64 65 2d 73 74 72 69 | 6e 67 20 73 65 74 2d 64 |ode-stri|ng set-d|
|00005430| 65 66 61 75 6c 74 20 73 | 63 68 65 6d 65 2d 6d 6f |efault s|cheme-mo|
|00005440| 64 65 2d 6c 69 6e 65 2d | 70 72 6f 63 65 73 73 20 |de-line-|process |
|00005450| 28 22 22 20 78 73 63 68 | 65 6d 65 2d 72 75 6e 6c |("" xsch|eme-runl|
|00005460| 69 67 68 74 29 20 6d 61 | 70 63 61 72 20 6d 61 6b |ight) ma|pcar mak|
|00005470| 65 2d 76 61 72 69 61 62 | 6c 65 2d 62 75 66 66 65 |e-variab|le-buffe|
|00005480| 72 2d 6c 6f 63 61 6c 20 | 28 78 73 63 68 65 6d 65 |r-local |(xscheme|
|00005490| 2d 65 78 70 72 65 73 73 | 69 6f 6e 73 2d 72 69 6e |-express|ions-rin|
|000054a0| 67 20 78 73 63 68 65 6d | 65 2d 65 78 70 72 65 73 |g xschem|e-expres|
|000054b0| 73 69 6f 6e 73 2d 72 69 | 6e 67 2d 79 61 6e 6b 2d |sions-ri|ng-yank-|
|000054c0| 70 6f 69 6e 74 65 72 20 | 78 73 63 68 65 6d 65 2d |pointer |xscheme-|
|000054d0| 70 72 6f 63 65 73 73 2d | 66 69 6c 74 65 72 2d 73 |process-|filter-s|
|000054e0| 74 61 74 65 20 78 73 63 | 68 65 6d 65 2d 72 75 6e |tate xsc|heme-run|
|000054f0| 6e 69 6e 67 2d 70 20 78 | 73 63 68 65 6d 65 2d 63 |ning-p x|scheme-c|
|00005500| 6f 6e 74 72 6f 6c 2d 67 | 2d 64 69 73 61 62 6c 65 |ontrol-g|-disable|
|00005510| 64 2d 70 20 78 73 63 68 | 65 6d 65 2d 61 6c 6c 6f |d-p xsch|eme-allo|
|00005520| 77 2d 6f 75 74 70 75 74 | 2d 70 20 78 73 63 68 65 |w-output|-p xsche|
|00005530| 6d 65 2d 70 72 6f 6d 70 | 74 20 78 73 63 68 65 6d |me-promp|t xschem|
|00005540| 65 2d 73 74 72 69 6e 67 | 2d 61 63 63 75 6d 75 6c |e-string|-accumul|
|00005550| 61 74 6f 72 20 78 73 63 | 68 65 6d 65 2d 6d 6f 64 |ator xsc|heme-mod|
|00005560| 65 2d 73 74 72 69 6e 67 | 20 73 63 68 65 6d 65 2d |e-string| scheme-|
|00005570| 6d 6f 64 65 2d 6c 69 6e | 65 2d 70 72 6f 63 65 73 |mode-lin|e-proces|
|00005580| 73 29 20 78 73 63 68 65 | 6d 65 2d 73 74 61 72 74 |s) xsche|me-start|
|00005590| 2d 70 72 6f 63 65 73 73 | 20 23 5b 28 63 6f 6d 6d |-process| #[(comm|
|000055a0| 61 6e 64 2d 6c 69 6e 65 | 20 74 68 65 2d 70 72 6f |and-line| the-pro|
|000055b0| 63 65 73 73 20 74 68 65 | 2d 62 75 66 66 65 72 29 |cess the|-buffer)|
|000055c0| 20 22 c0 09 21 1a c3 5c | 6e 21 1c 8a 5c 6e 71 88 | "..!..\|n!..\nq.|
|000055d0| 0c ab 90 c5 0c 21 c6 3e | ab 89 c7 0c 21 64 c8 93 |.....!.>|....!d..|
|000055e0| 88 aa ec 0c ab 84 c9 0c | 21 88 64 62 88 ca c8 21 |........|!.db...!|
|000055f0| 88 0e 0b 16 0c 6f ab 87 | cd ce 0e 0f 21 21 88 c8 |.....o..|....!!..|
|00005600| 1e 10 d1 d2 0e 0b 5c 6e | d3 0e 14 21 42 42 5c 22 |......\n|...!BB\"|
|00005610| 29 14 d5 0c 21 0e 0b 9a | ac 85 d5 0c 21 16 0c d6 |)...!...|....!...|
|00005620| 5c 6e 21 09 9a ac 85 d6 | 5c 6e 21 16 17 d8 d9 0e |\n!.....|\n!.....|
|00005630| 0c 0e 17 23 88 c7 0c 21 | 64 c8 93 88 da db 21 88 |...#...!|d.....!.|
|00005640| dc 0e 17 21 88 dd 0c de | 5c 22 88 df 0c e0 5c 22 |...!....|\"....\"|
|00005650| 88 e1 e2 21 88 2a 5c 6e | 29 87 22 20 5b 67 65 74 |...!.*\n|)." [get|
|00005660| 2d 62 75 66 66 65 72 2d | 63 72 65 61 74 65 20 74 |-buffer-|create t|
|00005670| 68 65 2d 62 75 66 66 65 | 72 20 62 75 66 66 65 72 |he-buffe|r buffer|
|00005680| 20 67 65 74 2d 62 75 66 | 66 65 72 2d 70 72 6f 63 | get-buf|fer-proc|
|00005690| 65 73 73 20 70 72 6f 63 | 65 73 73 20 70 72 6f 63 |ess proc|ess proc|
|000056a0| 65 73 73 2d 73 74 61 74 | 75 73 20 28 72 75 6e 20 |ess-stat|us (run |
|000056b0| 73 74 6f 70 29 20 70 72 | 6f 63 65 73 73 2d 6d 61 |stop) pr|ocess-ma|
|000056c0| 72 6b 20 6e 69 6c 20 64 | 65 6c 65 74 65 2d 70 72 |rk nil d|elete-pr|
|000056d0| 6f 63 65 73 73 20 73 63 | 68 65 6d 65 2d 69 6e 74 |ocess sc|heme-int|
|000056e0| 65 72 61 63 74 69 6f 6e | 2d 6d 6f 64 65 20 74 68 |eraction|-mode th|
|000056f0| 65 2d 70 72 6f 63 65 73 | 73 20 78 73 63 68 65 6d |e-proces|s xschem|
|00005700| 65 2d 70 72 6f 63 65 73 | 73 2d 6e 61 6d 65 20 69 |e-proces|s-name i|
|00005710| 6e 73 65 72 74 2d 62 65 | 66 6f 72 65 2d 6d 61 72 |nsert-be|fore-mar|
|00005720| 6b 65 72 73 20 73 75 62 | 73 74 69 74 75 74 65 2d |kers sub|stitute-|
|00005730| 63 6f 6d 6d 61 6e 64 2d | 6b 65 79 73 20 78 73 63 |command-|keys xsc|
|00005740| 68 65 6d 65 2d 73 74 61 | 72 74 75 70 2d 6d 65 73 |heme-sta|rtup-mes|
|00005750| 73 61 67 65 20 70 72 6f | 63 65 73 73 2d 63 6f 6e |sage pro|cess-con|
|00005760| 6e 65 63 74 69 6f 6e 2d | 74 79 70 65 20 61 70 70 |nection-|type app|
|00005770| 6c 79 20 73 74 61 72 74 | 2d 70 72 6f 63 65 73 73 |ly start|-process|
|00005780| 20 78 73 63 68 65 6d 65 | 2d 70 61 72 73 65 2d 63 | xscheme|-parse-c|
|00005790| 6f 6d 6d 61 6e 64 2d 6c | 69 6e 65 20 63 6f 6d 6d |ommand-l|ine comm|
|000057a0| 61 6e 64 2d 6c 69 6e 65 | 20 70 72 6f 63 65 73 73 |and-line| process|
|000057b0| 2d 6e 61 6d 65 20 62 75 | 66 66 65 72 2d 6e 61 6d |-name bu|ffer-nam|
|000057c0| 65 20 78 73 63 68 65 6d | 65 2d 62 75 66 66 65 72 |e xschem|e-buffer|
|000057d0| 2d 6e 61 6d 65 20 6d 65 | 73 73 61 67 65 20 22 53 |-name me|ssage "S|
|000057e0| 74 61 72 74 69 6e 67 20 | 70 72 6f 63 65 73 73 20 |tarting |process |
|000057f0| 25 73 20 69 6e 20 62 75 | 66 66 65 72 20 25 73 22 |%s in bu|ffer %s"|
|00005800| 20 78 73 63 68 65 6d 65 | 2d 70 72 6f 63 65 73 73 | xscheme|-process|
|00005810| 2d 66 69 6c 74 65 72 2d | 69 6e 69 74 69 61 6c 69 |-filter-|initiali|
|00005820| 7a 65 20 74 20 78 73 63 | 68 65 6d 65 2d 6d 6f 64 |ze t xsc|heme-mod|
|00005830| 65 6c 69 6e 65 2d 69 6e | 69 74 69 61 6c 69 7a 65 |eline-in|itialize|
|00005840| 20 73 65 74 2d 70 72 6f | 63 65 73 73 2d 73 65 6e | set-pro|cess-sen|
|00005850| 74 69 6e 65 6c 20 78 73 | 63 68 65 6d 65 2d 70 72 |tinel xs|cheme-pr|
|00005860| 6f 63 65 73 73 2d 73 65 | 6e 74 69 6e 65 6c 20 73 |ocess-se|ntinel s|
|00005870| 65 74 2d 70 72 6f 63 65 | 73 73 2d 66 69 6c 74 65 |et-proce|ss-filte|
|00005880| 72 20 78 73 63 68 65 6d | 65 2d 70 72 6f 63 65 73 |r xschem|e-proces|
|00005890| 73 2d 66 69 6c 74 65 72 | 20 72 75 6e 2d 68 6f 6f |s-filter| run-hoo|
|000058a0| 6b 73 20 78 73 63 68 65 | 6d 65 2d 73 74 61 72 74 |ks xsche|me-start|
|000058b0| 2d 68 6f 6f 6b 5d 20 36 | 5d 20 78 73 63 68 65 6d |-hook] 6|] xschem|
|000058c0| 65 2d 70 61 72 73 65 2d | 63 6f 6d 6d 61 6e 64 2d |e-parse-|command-|
|000058d0| 6c 69 6e 65 20 23 5b 28 | 73 74 72 69 6e 67 29 20 |line #[(|string) |
|000058e0| 22 c0 09 21 11 c2 c3 1c | 1d 0d ab b0 c6 c7 09 0d |"..!....|........|
|000058f0| 23 89 1e 08 ac 8a 09 0d | c3 4f 0c 42 14 c3 aa 98 |#.......|.O.B....|
|00005900| 0e 08 0d 55 ab 87 c6 c9 | 09 0d 23 aa 8b 09 0d 0e |...U....|..#.....|
|00005910| 08 4f 0c 42 14 0e 08 54 | 15 29 aa 4d 0c 9f 2a 87 |.O.B...T|.).M..*.|
|00005920| 22 20 5b 73 75 62 73 74 | 69 74 75 74 65 2d 69 6e |" [subst|itute-in|
|00005930| 2d 66 69 6c 65 2d 6e 61 | 6d 65 20 73 74 72 69 6e |-file-na|me strin|
|00005940| 67 20 30 20 6e 69 6c 20 | 72 65 73 75 6c 74 20 73 |g 0 nil |result s|
|00005950| 74 61 72 74 20 73 74 72 | 69 6e 67 2d 6d 61 74 63 |tart str|ing-matc|
|00005960| 68 20 22 5b 20 09 5d 22 | 20 69 6e 64 65 78 20 22 |h "[ .]"| index "|
|00005970| 5b 5e 20 09 5d 22 5d 20 | 35 5d 20 78 73 63 68 65 |[^ .]"] |5] xsche|
|00005980| 6d 65 2d 77 61 69 74 2d | 66 6f 72 2d 70 72 6f 63 |me-wait-|for-proc|
|00005990| 65 73 73 20 23 5b 6e 69 | 6c 20 22 c0 c1 21 88 5c |ess #[ni|l "..!.\|
|000059a0| 6e ad 86 c0 c3 21 88 aa | 77 87 22 20 5b 73 6c 65 |n....!..|w." [sle|
|000059b0| 65 70 2d 66 6f 72 20 32 | 20 78 73 63 68 65 6d 65 |ep-for 2| xscheme|
|000059c0| 2d 72 75 6e 6e 69 6e 67 | 2d 70 20 31 5d 20 32 5d |-running|-p 1] 2]|
|000059d0| 5d 20 33 29 0a 28 66 73 | 65 74 20 27 78 73 63 68 |] 3).(fs|et 'xsch|
|000059e0| 65 6d 65 2d 70 72 6f 63 | 65 73 73 2d 72 75 6e 6e |eme-proc|ess-runn|
|000059f0| 69 6e 67 2d 70 20 23 5b | 6e 69 6c 20 22 c0 09 21 |ing-p #[|nil "..!|
|00005a00| 89 1a ad 85 c3 5c 6e 21 | c4 3d 29 87 22 20 5b 67 |.....\n!|.=)." [g|
|00005a10| 65 74 2d 70 72 6f 63 65 | 73 73 20 78 73 63 68 65 |et-proce|ss xsche|
|00005a20| 6d 65 2d 70 72 6f 63 65 | 73 73 2d 6e 61 6d 65 20 |me-proce|ss-name |
|00005a30| 70 72 6f 63 65 73 73 20 | 70 72 6f 63 65 73 73 2d |process |process-|
|00005a40| 73 74 61 74 75 73 20 72 | 75 6e 5d 20 33 20 22 5c |status r|un] 3 "\|
|00005a50| 0a 54 72 75 65 20 69 66 | 66 20 74 68 65 72 65 20 |.True if|f there |
|00005a60| 69 73 20 61 20 53 63 68 | 65 6d 65 20 70 72 6f 63 |is a Sch|eme proc|
|00005a70| 65 73 73 20 77 68 6f 73 | 65 20 73 74 61 74 75 73 |ess whos|e status|
|00005a80| 20 69 73 20 60 72 75 6e | 27 2e 22 5d 29 0a 28 62 | is `run|'."]).(b|
|00005a90| 79 74 65 2d 63 6f 64 65 | 20 22 c0 c1 4d 88 c2 c3 |yte-code| "..M...|
|00005aa0| 4d 87 22 20 5b 78 73 63 | 68 65 6d 65 2d 70 72 6f |M." [xsc|heme-pro|
|00005ab0| 63 65 73 73 2d 62 75 66 | 66 65 72 20 23 5b 6e 69 |cess-buf|fer #[ni|
|00005ac0| 6c 20 22 c0 09 21 89 1a | ad 83 c3 5c 6e 21 29 87 |l "..!..|...\n!).|
|00005ad0| 22 20 5b 67 65 74 2d 70 | 72 6f 63 65 73 73 20 78 |" [get-p|rocess x|
|00005ae0| 73 63 68 65 6d 65 2d 70 | 72 6f 63 65 73 73 2d 6e |scheme-p|rocess-n|
|00005af0| 61 6d 65 20 70 72 6f 63 | 65 73 73 20 70 72 6f 63 |ame proc|ess proc|
|00005b00| 65 73 73 2d 62 75 66 66 | 65 72 5d 20 33 5d 20 78 |ess-buff|er] 3] x|
|00005b10| 73 63 68 65 6d 65 2d 70 | 72 6f 63 65 73 73 2d 62 |scheme-p|rocess-b|
|00005b20| 75 66 66 65 72 2d 77 69 | 6e 64 6f 77 20 23 5b 6e |uffer-wi|ndow #[n|
|00005b30| 69 6c 20 22 c0 20 89 19 | ad 83 c2 09 21 29 87 22 |il ". ..|....!)."|
|00005b40| 20 5b 78 73 63 68 65 6d | 65 2d 70 72 6f 63 65 73 | [xschem|e-proces|
|00005b50| 73 2d 62 75 66 66 65 72 | 20 62 75 66 66 65 72 20 |s-buffer| buffer |
|00005b60| 67 65 74 2d 62 75 66 66 | 65 72 2d 77 69 6e 64 6f |get-buff|er-windo|
|00005b70| 77 5d 20 33 5d 5d 20 32 | 29 0a 28 66 73 65 74 20 |w] 3]] 2|).(fset |
|00005b80| 27 78 73 63 68 65 6d 65 | 2d 70 72 6f 63 65 73 73 |'xscheme|-process|
|00005b90| 2d 62 75 66 66 65 72 2d | 63 75 72 72 65 6e 74 2d |-buffer-|current-|
|00005ba0| 70 20 23 5b 6e 69 6c 20 | 22 c0 20 70 3d 87 22 20 |p #[nil |". p=." |
|00005bb0| 5b 78 73 63 68 65 6d 65 | 2d 70 72 6f 63 65 73 73 |[xscheme|-process|
|00005bc0| 2d 62 75 66 66 65 72 5d | 20 32 20 22 5c 0a 54 72 |-buffer]| 2 "\.Tr|
|00005bd0| 75 65 20 69 66 66 20 74 | 68 65 20 63 75 72 72 65 |ue iff t|he curre|
|00005be0| 6e 74 20 62 75 66 66 65 | 72 20 69 73 20 74 68 65 |nt buffe|r is the|
|00005bf0| 20 53 63 68 65 6d 65 20 | 70 72 6f 63 65 73 73 20 | Scheme |process |
|00005c00| 62 75 66 66 65 72 2e 22 | 5d 29 0a 28 62 79 74 65 |buffer."|]).(byte|
|00005c10| 2d 63 6f 64 65 20 22 c0 | c1 4d 88 c2 c3 4d 88 c4 |-code ".|.M...M..|
|00005c20| c5 4d 88 c6 c7 4d 88 c8 | c9 4d 88 ca cb 4d 88 cc |.M...M..|.M...M..|
|00005c30| cd 4d 88 ce cf 4d 88 d0 | d1 4d 87 22 20 5b 78 73 |.M...M..|.M." [xs|
|00005c40| 63 68 65 6d 65 2d 70 72 | 6f 63 65 73 73 2d 73 65 |cheme-pr|ocess-se|
|00005c50| 6e 74 69 6e 65 6c 20 23 | 5b 28 70 72 6f 63 20 72 |ntinel #|[(proc r|
|00005c60| 65 61 73 6f 6e 29 20 22 | c0 09 21 1a c3 5c 6e 21 |eason) "|..!..\n!|
|00005c70| 1c 8a 5c 6e 71 88 c5 0e | 06 c7 3d 21 88 0e 06 c7 |..\nq...|..=!....|
|00005c80| 3d ac 92 c8 16 09 ca 16 | 0b 0c cc cd 21 9a ab 85 |=.......|....!...|
|00005c90| ce cf c8 5c 22 88 0e 06 | d0 3e 3f ad 8a 0e 11 ad |...\"...|.>?.....|
|00005ca0| 86 d2 20 88 d3 d4 21 2b | 87 22 20 5b 70 72 6f 63 |.. ...!+|." [proc|
|00005cb0| 65 73 73 2d 62 75 66 66 | 65 72 20 70 72 6f 63 20 |ess-buff|er proc |
|00005cc0| 62 75 66 66 65 72 20 62 | 75 66 66 65 72 2d 6e 61 |buffer b|uffer-na|
|00005cd0| 6d 65 20 6e 61 6d 65 20 | 78 73 63 68 65 6d 65 2d |me name |xscheme-|
|00005ce0| 70 72 6f 63 65 73 73 2d | 66 69 6c 74 65 72 2d 69 |process-|filter-i|
|00005cf0| 6e 69 74 69 61 6c 69 7a | 65 20 72 65 61 73 6f 6e |nitializ|e reason|
|00005d00| 20 72 75 6e 20 22 22 20 | 73 63 68 65 6d 65 2d 6d | run "" |scheme-m|
|00005d10| 6f 64 65 2d 6c 69 6e 65 | 2d 70 72 6f 63 65 73 73 |ode-line|-process|
|00005d20| 20 22 6e 6f 20 70 72 6f | 63 65 73 73 22 20 78 73 | "no pro|cess" xs|
|00005d30| 63 68 65 6d 65 2d 6d 6f | 64 65 2d 73 74 72 69 6e |cheme-mo|de-strin|
|00005d40| 67 20 64 65 66 61 75 6c | 74 2d 76 61 6c 75 65 20 |g defaul|t-value |
|00005d50| 78 73 63 68 65 6d 65 2d | 62 75 66 66 65 72 2d 6e |xscheme-|buffer-n|
|00005d60| 61 6d 65 20 73 65 74 2d | 64 65 66 61 75 6c 74 20 |ame set-|default |
|00005d70| 78 73 63 68 65 6d 65 2d | 72 75 6e 6c 69 67 68 74 |xscheme-|runlight|
|00005d80| 20 28 72 75 6e 20 73 74 | 6f 70 29 20 78 73 63 68 | (run st|op) xsch|
|00005d90| 65 6d 65 2d 73 69 67 6e | 61 6c 2d 64 65 61 74 68 |eme-sign|al-death|
|00005da0| 2d 6d 65 73 73 61 67 65 | 20 62 65 65 70 20 6d 65 |-message| beep me|
|00005db0| 73 73 61 67 65 20 22 54 | 68 65 20 53 63 68 65 6d |ssage "T|he Schem|
|00005dc0| 65 20 70 72 6f 63 65 73 | 73 20 68 61 73 20 64 69 |e proces|s has di|
|00005dd0| 65 64 21 20 20 44 6f 20 | 4d 2d 78 20 72 65 73 65 |ed! Do |M-x rese|
|00005de0| 74 2d 73 63 68 65 6d 65 | 20 74 6f 20 72 65 73 74 |t-scheme| to rest|
|00005df0| 61 72 74 20 69 74 22 5d | 20 33 5d 20 78 73 63 68 |art it"]| 3] xsch|
|00005e00| 65 6d 65 2d 70 72 6f 63 | 65 73 73 2d 66 69 6c 74 |eme-proc|ess-filt|
|00005e10| 65 72 2d 69 6e 69 74 69 | 61 6c 69 7a 65 20 23 5b |er-initi|alize #[|
|00005e20| 28 72 75 6e 6e 69 6e 67 | 2d 70 29 20 22 c0 11 5c |(running|-p) "..\|
|00005e30| 6e 13 c4 15 c6 16 07 c8 | 16 09 5c 6e ab 9c ca 70 |n.......|..\n...p|
|00005e40| 21 1e 0b cc 16 0d ce 0e | 0b 21 88 0e 0b cf d0 21 |!.......|.!.....!|
|00005e50| 9a ab 86 d1 d2 0e 13 5c | 22 88 29 0e 12 0e 13 3d |.......\|".)....=|
|00005e60| ac 86 0e 12 c8 9a ab 87 | d4 d0 d4 d5 46 16 12 d6 |........|....F...|
|00005e70| 0e 12 9b 5c 6e ab 83 d5 | aa 81 d7 a0 87 22 20 5b |...\n...|....." [|
|00005e80| 69 64 6c 65 20 78 73 63 | 68 65 6d 65 2d 70 72 6f |idle xsc|heme-pro|
|00005e90| 63 65 73 73 2d 66 69 6c | 74 65 72 2d 73 74 61 74 |cess-fil|ter-stat|
|00005ea0| 65 20 72 75 6e 6e 69 6e | 67 2d 70 20 78 73 63 68 |e runnin|g-p xsch|
|00005eb0| 65 6d 65 2d 72 75 6e 6e | 69 6e 67 2d 70 20 6e 69 |eme-runn|ing-p ni|
|00005ec0| 6c 20 78 73 63 68 65 6d | 65 2d 63 6f 6e 74 72 6f |l xschem|e-contro|
|00005ed0| 6c 2d 67 2d 64 69 73 61 | 62 6c 65 64 2d 70 20 74 |l-g-disa|bled-p t|
|00005ee0| 20 78 73 63 68 65 6d 65 | 2d 61 6c 6c 6f 77 2d 6f | xscheme|-allow-o|
|00005ef0| 75 74 70 75 74 2d 70 20 | 22 22 20 78 73 63 68 65 |utput-p |"" xsche|
|00005f00| 6d 65 2d 70 72 6f 6d 70 | 74 20 62 75 66 66 65 72 |me-promp|t buffer|
|00005f10| 2d 6e 61 6d 65 20 6e 61 | 6d 65 20 28 22 3a 20 22 |-name na|me (": "|
|00005f20| 20 78 73 63 68 65 6d 65 | 2d 72 75 6e 6c 69 67 68 | xscheme|-runligh|
|00005f30| 74 2d 73 74 72 69 6e 67 | 29 20 73 63 68 65 6d 65 |t-string|) scheme|
|00005f40| 2d 6d 6f 64 65 2d 6c 69 | 6e 65 2d 70 72 6f 63 65 |-mode-li|ne-proce|
|00005f50| 73 73 20 78 73 63 68 65 | 6d 65 2d 6d 6f 64 65 6c |ss xsche|me-model|
|00005f60| 69 6e 65 2d 69 6e 69 74 | 69 61 6c 69 7a 65 20 64 |ine-init|ialize d|
|00005f70| 65 66 61 75 6c 74 2d 76 | 61 6c 75 65 20 78 73 63 |efault-v|alue xsc|
|00005f80| 68 65 6d 65 2d 62 75 66 | 66 65 72 2d 6e 61 6d 65 |heme-buf|fer-name|
|00005f90| 20 73 65 74 2d 64 65 66 | 61 75 6c 74 20 78 73 63 | set-def|ault xsc|
|00005fa0| 68 65 6d 65 2d 72 75 6e | 6c 69 67 68 74 20 64 65 |heme-run|light de|
|00005fb0| 66 61 75 6c 74 2d 78 73 | 63 68 65 6d 65 2d 72 75 |fault-xs|cheme-ru|
|00005fc0| 6e 6c 69 67 68 74 20 22 | 3a 20 22 20 22 3f 22 20 |nlight "|: " "?" |
|00005fd0| 33 20 22 6e 6f 20 70 72 | 6f 63 65 73 73 22 5d 20 |3 "no pr|ocess"] |
|00005fe0| 34 5d 20 78 73 63 68 65 | 6d 65 2d 70 72 6f 63 65 |4] xsche|me-proce|
|00005ff0| 73 73 2d 66 69 6c 74 65 | 72 20 23 5b 28 70 72 6f |ss-filte|r #[(pro|
|00006000| 63 20 73 74 72 69 6e 67 | 29 20 22 8a c0 09 21 71 |c string|) "...!q|
|00006010| 88 5c 6e 1b 0b 85 b0 00 | 0c c5 3d ab a8 c6 c7 0b |.\n.....|..=.....|
|00006020| 5c 22 89 1e 08 ab 93 c9 | 0b ca 0e 08 4f 21 88 0b |\"......|....O!..|
|00006030| 0e 08 54 cb 4f 13 cc 14 | aa 89 0b 1a cb 13 c9 5c |..T.O...|.......\|
|00006040| 6e 21 88 29 29 aa 4f 0c | cc 3d ab b7 0b 47 ca 55 |n!.)).O.|.=...G.U|
|00006050| ab 85 cb 89 13 aa 40 0b | ca 48 1e 0d 0b ce cb 4f |......@.|.H.....O|
|00006060| 13 cf 0e 0d 0e 10 5c 22 | 89 1e 11 ab 8c d2 0e 11 |......\"|........|
|00006070| 38 0e 11 41 40 21 88 aa | 88 c9 d3 0e 0d 5c 22 88 |8..A@!..|.....\".|
|00006080| c5 14 2a aa 13 0c d4 3d | ab af c6 c7 0b 5c 22 89 |..*....=|.....\".|
|00006090| 1e 08 ab 9a 0e 15 0b ca | 0e 08 4f 50 1a 0b 0e 08 |........|..OP....|
|000060a0| 54 cb 4f 13 c5 14 0e 16 | 5c 6e 21 88 29 aa 88 0e |T.O.....|\n!.)...|
|000060b0| 15 0b 50 16 15 cb 13 29 | 82 08 00 d7 d8 21 88 82 |..P....)|.....!..|
|000060c0| 08 00 2a 87 22 20 5b 70 | 72 6f 63 65 73 73 2d 62 |..*." [p|rocess-b|
|000060d0| 75 66 66 65 72 20 70 72 | 6f 63 20 73 74 72 69 6e |uffer pr|oc strin|
|000060e0| 67 20 78 73 63 68 65 6d | 65 2d 66 69 6c 74 65 72 |g xschem|e-filter|
|000060f0| 2d 69 6e 70 75 74 20 78 | 73 63 68 65 6d 65 2d 70 |-input x|scheme-p|
|00006100| 72 6f 63 65 73 73 2d 66 | 69 6c 74 65 72 2d 73 74 |rocess-f|ilter-st|
|00006110| 61 74 65 20 69 64 6c 65 | 20 73 74 72 69 6e 67 2d |ate idle| string-|
|00006120| 6d 61 74 63 68 20 22 1b | 22 20 73 74 61 72 74 20 |match ".|" start |
|00006130| 78 73 63 68 65 6d 65 2d | 70 72 6f 63 65 73 73 2d |xscheme-|process-|
|00006140| 66 69 6c 74 65 72 2d 6f | 75 74 70 75 74 20 30 20 |filter-o|utput 0 |
|00006150| 6e 69 6c 20 72 65 61 64 | 69 6e 67 2d 74 79 70 65 |nil read|ing-type|
|00006160| 20 63 68 61 72 20 31 20 | 61 73 73 6f 63 20 78 73 | char 1 |assoc xs|
|00006170| 63 68 65 6d 65 2d 70 72 | 6f 63 65 73 73 2d 66 69 |cheme-pr|ocess-fi|
|00006180| 6c 74 65 72 2d 61 6c 69 | 73 74 20 65 6e 74 72 79 |lter-ali|st entry|
|00006190| 20 32 20 32 37 20 72 65 | 61 64 69 6e 67 2d 73 74 | 2 27 re|ading-st|
|000061a0| 72 69 6e 67 20 78 73 63 | 68 65 6d 65 2d 73 74 72 |ring xsc|heme-str|
|000061b0| 69 6e 67 2d 61 63 63 75 | 6d 75 6c 61 74 6f 72 20 |ing-accu|mulator |
|000061c0| 78 73 63 68 65 6d 65 2d | 73 74 72 69 6e 67 2d 72 |xscheme-|string-r|
|000061d0| 65 63 65 69 76 65 72 20 | 65 72 72 6f 72 20 22 53 |eceiver |error "S|
|000061e0| 63 68 65 6d 65 20 70 72 | 6f 63 65 73 73 20 66 69 |cheme pr|ocess fi|
|000061f0| 6c 74 65 72 20 2d 2d 20 | 62 61 64 20 73 74 61 74 |lter -- |bad stat|
|00006200| 65 22 5d 20 35 5d 20 78 | 73 63 68 65 6d 65 2d 70 |e"] 5] x|scheme-p|
|00006210| 72 6f 63 65 73 73 2d 66 | 69 6c 74 65 72 2d 6f 75 |rocess-f|ilter-ou|
|00006220| 74 70 75 74 20 23 5b 28 | 26 72 65 73 74 20 61 72 |tput #[(|&rest ar|
|00006230| 67 73 29 20 22 08 ad c5 | c1 c2 0b 5c 22 1c 8a c5 |gs) "...|...\"...|
|00006240| 20 88 c6 c7 0c 5c 22 ab | b2 c8 94 c8 95 1e 09 1e | ....\".|........|
|00006250| 5c 6e cb 0c c8 0e 5c 6e | 4f 21 88 0c 0e 5c 6e 48 |\n....\n|O!...\nH|
|00006260| cc 55 ab 8d 6e ac 84 cb | cd 21 88 cb cc 21 88 aa |.U..n...|.!...!..|
|00006270| 83 ce 20 88 0c 0e 5c 6e | 54 cf 4f 14 2a aa 48 cb |.. ...\n|T.O.*.H.|
|00006280| 0c 21 2a 87 22 20 5b 78 | 73 63 68 65 6d 65 2d 61 |.!*." [x|scheme-a|
|00006290| 6c 6c 6f 77 2d 6f 75 74 | 70 75 74 2d 70 20 61 70 |llow-out|put-p ap|
|000062a0| 70 6c 79 20 63 6f 6e 63 | 61 74 20 61 72 67 73 20 |ply conc|at args |
|000062b0| 73 74 72 69 6e 67 20 78 | 73 63 68 65 6d 65 2d 67 |string x|scheme-g|
|000062c0| 6f 74 6f 2d 6f 75 74 70 | 75 74 2d 70 6f 69 6e 74 |oto-outp|ut-point|
|000062d0| 20 73 74 72 69 6e 67 2d | 6d 61 74 63 68 20 22 5c | string-|match "\|
|000062e0| 5c 28 07 5c 5c 7c 0c 5c | 5c 29 22 20 30 20 65 6e |\(.\\|.\|\)" 0 en|
|000062f0| 64 20 73 74 61 72 74 20 | 69 6e 73 65 72 74 2d 62 |d start |insert-b|
|00006300| 65 66 6f 72 65 2d 6d 61 | 72 6b 65 72 73 20 31 32 |efore-ma|rkers 12|
|00006310| 20 31 30 20 62 65 65 70 | 20 6e 69 6c 5d 20 34 5d | 10 beep| nil] 4]|
|00006320| 20 78 73 63 68 65 6d 65 | 2d 67 75 61 72 61 6e 74 | xscheme|-guarant|
|00006330| 65 65 2d 6e 65 77 6c 69 | 6e 65 73 20 23 5b 28 6e |ee-newli|nes #[(n|
|00006340| 29 20 22 08 ad b0 8a c1 | 20 88 c2 1b 0b ac 93 6e |) ".....| ......n|
|00006350| ab 90 0c 53 14 6f ab 85 | c5 89 13 aa 70 c6 20 88 |...S.o..|....p. .|
|00006360| aa 6a 29 c1 20 88 0c c7 | 56 ad 8a c8 c9 21 88 0c |.j). ...|V....!..|
|00006370| 53 89 14 aa 72 29 87 22 | 20 5b 78 73 63 68 65 6d |S...r)."| [xschem|
|00006380| 65 2d 61 6c 6c 6f 77 2d | 6f 75 74 70 75 74 2d 70 |e-allow-|output-p|
|00006390| 20 78 73 63 68 65 6d 65 | 2d 67 6f 74 6f 2d 6f 75 | xscheme|-goto-ou|
|000063a0| 74 70 75 74 2d 70 6f 69 | 6e 74 20 6e 69 6c 20 73 |tput-poi|nt nil s|
|000063b0| 74 6f 70 20 6e 20 74 20 | 62 61 63 6b 77 61 72 64 |top n t |backward|
|000063c0| 2d 63 68 61 72 20 30 20 | 69 6e 73 65 72 74 2d 62 |-char 0 |insert-b|
|000063d0| 65 66 6f 72 65 2d 6d 61 | 72 6b 65 72 73 20 31 30 |efore-ma|rkers 10|
|000063e0| 5d 20 33 5d 20 78 73 63 | 68 65 6d 65 2d 67 6f 74 |] 3] xsc|heme-got|
|000063f0| 6f 2d 6f 75 74 70 75 74 | 2d 70 6f 69 6e 74 20 23 |o-output|-point #|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.